一.转化原则
1.低存储位--->高存储位(自动转化)
2.高存储位--->低存储位(强制转化)
!理解:就好比java注重安全规则,你从低向高爬,身处低位不怕摔;但从高向低跳,身处高位就可能出危险。
二.存储位顺序
byte<short<char<int<long<float<double
三.易错小程序
大家觉得下面这段程序有什么问题,感觉正确吗?
public class Main{
public static void main(String args[]){
byte a=1;
byte b=1;
byte c=a+b;
System.out.println(c);
}
}
在cmd下进行编译
原来系统在执行a+b时自动将a和b转化为了int型,加和结果也是int型,高存储位不能自动向低存储位转化。
加个强转就好了
public class Main{
public static void main(String args[]){
byte a=1;
byte b=1;
byte c=(byte)(a+b);
System.out.println(c);
}
}