一个简单却容易忽略的小坑(基本数据类型转换)

蓝咒 提交于 2020-03-09 21:04:32

基本数据类型转换相信大家都能够信手拈来,讲起来也是口若悬河,滔滔不绝。

那么,请看:

byte number1 = 30;byte number2 = 10;
byte number3 = number1 + number2;
System.out.println(number3);
看起来很和谐的一段代码,对于刚入Java的新手来说简直不要太喜欢,简单易懂。其实,已经错了,当两个byte类型的数据相加的时候返回值真的是一个byte类型的值么?讲到这边要还是认为是byte类型的,可以点击右上角的 × 然后转行吧,Java可能不适合你,哈哈,开玩笑的!!当然,不信你可以去ideal敲一下试试,具体返回值是啥一试便知道,我就不说了。今天要讲的是为啥会这样:其实也很简单,当两个byte类型的变量开始运算的时候,系统会直接先将其转化成int类型再做运算,所以输出来的结果可想而知是一个int类型的返回值。但有些人说,我是杠精,我就想要返回值是byte咋搞?简单啊,强转呗!
byte number3 =(byte) (number1 + number2);先运算括号中的加法,结果强转为byte类型。。。。。。
废话扯了这么多,真理就一句话,哈哈,喝水去了,感觉有辣么一丝丝收货的,别忘记点个赞,拜拜!!
 
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!