一.转化原则
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);
}
}
本文详细介绍了Java中数据类型的自动转换和强制转换原则,并通过一个常见的编程错误示例解释了为何高存储位类型无法自动转化为低存储位类型,以及如何避免这类错误。

被折叠的 条评论
为什么被折叠?



