1、案例1
byte b1 = 10;
byte b2 = 20;
byte b3 = b1 + b2;
上面代码会报错,原因:
java中两个byte类型的计算结果是int类型,将int类型赋值给byte类型的b3,错误
2、案例2
byte b4 = 10 + 20;
上面代码不会报错,b3 = 30;
原因:理论上来说10+20的结果是int类型,将int类型赋值给b4一样会报错。
但是java中有常量优化机制,10和20都是常量,在编译结果就可以进行计算,转成byte类型,在赋值给b4,结果没问题