byte b1=3,b2=4,b; b=b1+b2;//错误byte运算先变成int,再计算, 因为他们最终是要转向int类型 而int类型的值不能赋值给byte,byte,char,short编译时都是需要转成int,才可运算。 b=3+4;//正确 因为他们都是常量 具有常量类型优化机制 可以直接识别为byte,两个常量相加,先计算常量数值,然后判断是否满足类型范围,再赋值。 哪句是编译失败的呢?为什么呢?