练习05 1、思考:哪句是编译失败的呢?为什么? class Demo { public static void main(String[]args) { byteb1=3,b2=4,b; b=b1+b2; b=3+4; } } 答案: b1 = b1+b2; 错误 b1 = b1+b2; 两个byte类型的变量相加,会把类型提升为int类型,再做相加,结果为int类型,把最后的int类型结果付给byte 出错 b1 = 3+4; 由于3+4 是两个常量,那么编译器在编译的时候,会将结果计算出来,如果结果没有超过byte范围,赋值给b1成功;超过范围,赋值给b1失败。
|