自动类型转换
- 概念: 小范围变量转换为大范围变量。
- 运用场所: 多发生在混合运算中,因为在混合运算时会统一成相同类型后运算(统一为范围最大的类型)。
- 范围大小:
byte<short,char<int<long<float<double
boolean不允许和其他7类进行类型转换。
long l2 = 0;// 0为int类型,这个是int自动转换为long
int i3 = 'A' + 20; // 字符A自动转换为对应的ASCⅡ编码,运算结果为编码+20
强制类型转换
- 概念: 大范围变量转换为小范围变量。
- 格式: (要转换的类型)数字
- 运用场所: 人为主动转换。
- 缺点: 容易造成精度损失和范围溢出(范围溢出时,从左侧开始计算溢出部分)。
float f2 = (float) 0.0;
int i2 = (int) 1.2; // 精度损失
byte b = (byte) 128; // 范围溢出 从左侧开始计算溢出部分