您的位置 首页 java

你真的了解Java的byte和short类型吗?

最近在给学生上课的过程中,经过会被学生问到这样的问题:

为什么在编译的时候b2会报错,为什么b不报错。

同时还有更好奇的同学练习这个问题:

看懂了吗?知道为什么吗?

原因是因为 Java 程序需要经过编译和运行两个步骤完成。上面的错误是编译时期的问题。而编译使用的是JDK中的 javac 命令,在使用javac命令的时候,就是在启动JDK中的编译器小工具,而编译器在编译检测byte和 short 类型变量空间的时候会检测数据是否会超存储范围。byte类型开辟的空间默认是1个字节,存储数据的范围是-128到127,因此第一个错误是128超过了byte类型空间能够存储的范围了。

b3 = b3 + 10,同样是需要检测的,但是由于b3是一个变量,在编译的时候,变量根本就没有空间更无法确定具体的值是多少,同时在java中的进行算术运算的时候运算的结果类型要保持一致,b3是byte类型,但是和10(因为java中所有整数默认都是int类型)进行运算,结果是int类型。这样更不能给byte中存放了。

欢迎大家留言与我交流。

文章来源:智云一二三科技

文章标题:你真的了解Java的byte和short类型吗?

文章地址:https://www.zhihuclub.com/181467.shtml

关于作者: 智云科技

热门文章

网站地图