基本数据类型转换相信大家都能够信手拈来,讲起来也是口若悬河,滔滔不绝。
那么,请看:
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类型。。。。。。
废话扯了这么多,真理就一句话,哈哈,喝水去了,感觉有辣么一丝丝收货的,别忘记点个赞,拜拜!!
来源:https://www.cnblogs.com/1355861728--qqcom/p/12450666.html