黑马程序员技术交流社区
标题:
自动类型转换
[打印本页]
作者:
阿弥陀佛么么哒
时间:
2016-8-8 08:56
标题:
自动类型转换
1. {
byte b=4;
b=3+7;
System.out.print(b);
}
输出:10
2.{
byte b=4;
byte b1=3;
byte b2=7;
b=b1+b2;
System.out.print(b);
}
输出:报错 可能会损失精度
解析:byte b=4 中,int类型的4为什么会赋值给b呢?b不是byte类型吗?原因是编译器在编译的时候,它会判断右边的数值是不是在字节这个范围内,如果在,把int类型的值做一次强转再赋给b;而2中的b1 b2是变量,值的范围不确定,编译时不能做检察,检察不了就会报错。(如问题分析有误,请大家不吝指证哦)
作者:
敲敲乐z
时间:
2016-8-8 22:05
我这里记的是JAVA有常量优化机制!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2