美文网首页
Java中的byte,short,char进行计算时都会提升为i

Java中的byte,short,char进行计算时都会提升为i

作者: 草叶oo0 | 来源:发表于2019-02-23 11:23 被阅读0次

代码片段:

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.
被final修饰的变量是常量,这里的b6=b4+b5可以看成是b6=10;在编译时就已经变为b6=10了
而b1和b2是byte类型,java中进行计算时候将他们提升为int类型,再进行计算,b1+b2计算后已经是int类型,赋值给b3,b3是byte类型,类型不匹配,编译不会通过,需要进行强制转换。
Java中的byte,short,char进行计算时都会提升为int类型。


image.png

链接:https://www.nowcoder.com/questionTerminal/344945bc01fd49b5beca0cf5f6edea78?orderByHotValue=1&mutiTagIds=639&page=1&onlyReference=true

来源:牛客网

相关文章

网友评论

      本文标题:Java中的byte,short,char进行计算时都会提升为i

      本文链接:https://www.haomeiwen.com/subject/nlnuyqtx.html