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

代码片段:

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

来源:牛客网

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. java data 来个示例程序对应图1 2. java 表达式的转型规则:由低到高 https://www...
    铜雀春深锁不住阅读 3,570评论 0 2
  • 1.下面论述正确的是()? A 如果两个对象的hashcode相同,那么它们作为同一个HashMap的key时,必...
    香沙小熊阅读 6,107评论 0 1
  • .1基础语言要素 1)标识符:给类、方法、变量起的名字 A.必须以字母或下划线或$符号开始,其余字符可以是字...
    晨星资源阅读 3,424评论 0 0
  • Advanced Language Features 知识点:一. static修饰符 static修饰符可以用来...
    风景凉阅读 3,273评论 0 0
  • Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和...
    Java小辰阅读 4,765评论 0 2

友情链接更多精彩内容