Java 的基本数据类型是 Java 学习的基础,让我们看看 Java 的基本数据类型都有哪些?
01. 基本数据类型
Java 中一共有 8 种基本数据类型:
其中 boolean 比较特殊,在 java 规范中给出了 boolean 当做 int 处理(4 byte),boolean 数组用 byte 数组实现(1 byte)的定义,具体还要看虚拟机实现是否按照规范实现。
装箱与拆箱:基本类型与其对应的包装类型之间自动进行转换。
Integer x = 1; // 装箱:基本类型转包装类型,1 是 int 类型,调用了 Integer.valueOf(1)
int y = x; // 拆箱:包装类型转基本类型,调用了 x.intValue()
02. 自动类型转换
由低字节向高字节自动转换;黑线表示无数据丢失,红线表示可能发生精度丢失。
03. 强制数据转换
由高字节向低字节转换,存在精度损失的风险,需要在代码中强制转换。
int n = (int)56.56
04. 类型提升
操作不同数据类型,会自动向字节更大的数据类型提升。
所有的byte,short,char型的值将被提升为int型;
有一个操作数是long型,计算结果是long型;
有一个操作数是float型,计算结果是float型;
有一个操作数是double型,计算结果是double型。
05. 隐式类型转换
让我们看看这几行代码:
ch = ch + 1 : 因为 1 是 int 类型,ch + 1 会转成更高范围的 int ,所以这里编译会报错,cannot convert from int to char
ch ++ : 会正常编译执行,结果是 'b',因为这里有个隐式类型转换,相当于 ch = (short) (ch + 1)