数据类型转换分为 2 种类型:自动转换,强制转换
1.自动类型转换
特点:
代码不需要进行特殊处理,自动完成
规则:
数据范围从小到大(数据范围小的,可以自动转换成大的,反之不行)
例如:
对一个 long 类型赋值 int 的100,
long a2 = 100;
2.强制类型转换
特点:
必须手动指定强制指定的数据类型
规则:
数据类型1 变量名 = (数据类型1) 数据类型2;
例如:
把一个 int 类型的数据,转换成 long(不符合自动转换,会丢失精度)
int a3 = (int) 100L;
3.jdk的 2 个友好编译
1.对于 byte/short/char 三种类型,数据范围正确时,会自动强制转换
char zifu = 65;
System.out.println(zifu); //此时输出 A,因为自动强制转换 char
2.对于变量的赋值,表达式都是常量时,会直接计算结果,并自动转换
short result = 5+8;
System.out.println(result); //此时输出13,编译前直接计算,没溢出自动转换