java中byte类型数据的运算

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。

你可能感兴趣的:(java)