Java中的byte,short,char进行计算时都会提升为int类型。

来源:互联网 发布:单片机按键 编辑:程序博客网 时间:2024/05/21 01:52
代码片段: 
1
2
3
4
5
byteb1=1,b2=2,b3,b6; 
finalbyte b4=4,b5=6
b6=b4+b5; 
b3=(b1+b2); 
System.out.println(b3+b6);

关于上面代码片段叙述正确的是()

正确答案: C   你的答案: 空 (错误)

输出结果:13
语句:b6=b4+b5编译出错
语句:b3=b1+b2编译出错
运行期抛出异常
C.
被final修饰的变量是常量,这里的b6=b4+b5可以看成是b6=10;在编译时就已经变为b6=10了
而b1和b2是byte类型,java中进行计算时候将他们提升为int类型,再进行计算,b1+b2计算后已经是int类型,赋值给b3,b3是byte类型,类型不匹配,编译不会通过,需要进行强制转换。
Java中的byte,short,char进行计算时都会提升为int类型

阅读全文
0 0
原创粉丝点击