代码片段:
byte b1=1,b2=2,b3,b6;
final byte b4=4,b5=6;
b6=b4+b5;
b3=(b1+b2);
System.out.println(b3+b6);
关于上面代码片段,叙述正确的是()
A.输出结果:13
B.语句:b6=b4+b5编译出错
C.语句:b3=b1+b2编译出错
D.运行期抛出异常
答案:C
解析:
Java的常量分为编译期常量和运行期常量,b4、b5由final修饰,其值在编译期就已经确定了,不会被转换类型;b1、b2无final修饰,所有无final修饰的byte、short、char类型的值在作运算时(运行期),会被默认转换成int类型