1、请看一下这个题目
byte b1=1,b2=2,b3,b6;
final byte b4=4,b5=6;
b6=b4+b5;
b3=(b1+b2);
System.out.println(b3+b6);
2、选项如下
A、输出结果:13
B、语句:b6=b4+b5编译出错
C、语句:b3=b1+b2编译出错
D、运行期抛出异常
3、正确答案是C
原因:首先说一下,在java中两个byte字节的数相加会自动转换成int类型,所以结果必须要进行强制转换,由此 A 和D错误。接下来我们看b6=b4+b5,因为b4和b5被final修饰,在进行相加的时候jvm会对其进行优化,其实就是相当于b6=10.所以不会出错。因此答案选C。