类型范围小的,可以直接转换为类型范围大的变量,byte a = 20 可以直接 int b = a;
类型范围大的,不能直接赋值给范围小的变量,会报错
public class TypeDemo3 {
public static void main(String[] args) {
// 理解强制类型转换
int a = 20;
byte b = (byte) a;
System.out.println(a);
System.out.println(b); // b被强制转换的结果是20,因为在byte范围内最大范围127
int i = 1500;
byte j = (byte) i;// 1500>127 byte数据类型的最大范围,输出结果会报错
System.out.println(j); // -36
// 强制类型转换注意事项:1. 强制转换可能造成数据(丢失)溢出
// 2. 浮点型强行转成整型,直接丢掉小数部分,保留证书部分返回
double score = 99.5;
int it = (int) score; // 可以使用alt+enter万能键然后回车,自动补齐转换的(int)
System.out.println(it); // 99,直接舍弃小数部分
}
}