编程语言】想要学习Java,必不可少的8大基本类型。

2020-03-30 17:46发布

1条回答
职场老油条
2楼 · 2020-03-30 17:57


Java基本类型-整数类型byte、short、int和long

byte:字节型;short:短整型;int:整型;long:长整型。

刚开始学习时有种疑惑,为啥弄这么多整数类型?

从字节型到长整型,整数的范围总是在不断增加,不够用了自然就要扩展范围,添加新的类型;若范围小的整数浪费空间太多,又会影响程序,所以在使用时就有了类型供我们选择。

Java基本类型-字符型char

Java采用的是Unicode编码格式,字符类型的变量不仅可以接收单字符常量,还可以接收0~65535之间的整数。

转义字符表(有些特殊含义的字符需要通过\来协助)

image.png

Java基本类型-布尔型boolean

Java中的布尔型只表示字面true和false,不同C++之处,如果将一个整数值赋值给布尔类型变量,编译器将报错。

Java基本类型- Java常量默认类型有哪些?

在Java中整型常量默认int类型,如果想要使用long类型常量,需要在常量后添加L/l字符,例如:15L

浮点数默认为double类型,如果想要float类型需要添加F/f,例如:3.14F

Java基本类型-- 基本类型的范围包括哪些?

我们可以利用基本类型的包装类中的关键字MAX_VALUE和MIN_VALUE,打印出基本类型的范围。

public class PrintRange { public static void main(String[] args) { System.out.println("byte: "+Byte.MIN_VALUE+" ~ "+Byte.MAX_VALUE); System.out.println("short: "+Short.MIN_VALUE+" ~ "+Short.MAX_VALUE); System.out.println("int: "+Integer.MIN_VALUE+" ~ "+Integer.MAX_VALUE); System.out.println("long: "+Long.MIN_VALUE+" ~ "+Long.MAX_VALUE); System.out.println("float: "+Float.MIN_VALUE+" ~ "+Float.MAX_VALUE); System.out.println("double: "+Double.9+" ~ "+Double.MAX_VALUE); System.out.println("char: "+Character.MIN_VALUE+" ~ "+Character.MAX_VALUE); } }

image.png

Java基本类型-基本类型间的相互转换- 隐式转换、显式转化

隐式转换

范围小的类型可以自动转换为范围大的类型,大范围类型能容纳小范围类型(也称显示转换为扩展转换)这些转换都是兼容的。

image.png

显式转换

大的范围转换为小范围类型,会造成信息丢失(也称隐式转换为窄化转换),不兼容性转换。如图,利用类型转换操作符(cast)进行显示转换。

image.png

浮点数转换为整数的小数问题
float和double类型转换为整数时,总是舍去小数点后面的部分,称此行为为截尾。
如果对小数点后面的部分进行四舍五入,即舍入操作,需要利用java.lang.Math中的round()方法

Java基本类型-基本类型和包装类之间的转换- 自动装箱和拆箱

Java5出现的特性,基本类型和封装类之间可以进行自动拆箱和装箱进行类型转换(由基类转换为包装类)。

image.png

** 包装类中还包含很多将包装类装换为其他基类的接口,详细的可以查看Java API文档**

java基本类型-- 基本类型和String类型之间的转换

在我们进行Java GUI界面开发时,通常会获取文本输入框的值,这就可能涉及到String类型转换为基本类型的问题。

public class PrintRange {
 public static void main(String[] args) {  //基类转换为String类型
  int a = 125;  String s = String.valueOf(a);  //String类型转换为基类
  a = Integer.parseInt(s);
 }
}


String转换为基类利用的是基类对应包装类的parse···方法,基类转换字符串用的是String类中的valueOf方法,这些在Java API中都有介绍。

Java基本类型作为方法参数传递中的转换

image.png


相关问题推荐

没有解决我的问题,去提问