黑马程序员技术交流社区
标题:
今天考试有几道题有点疑惑
[打印本页]
作者:
清凉
时间:
2016-7-1 20:03
标题:
今天考试有几道题有点疑惑
其中有一个是这道
3. 给定java代码,如下:
public byte count(byte b1, byte b2){
return ____;
}
要使这段代码能够编译成功,横线处可以填入
A. (byte)(b1-b2)
B. b1-b2
C. (byte)b1+b2
D. (byte)b1/b2
作者:
实习小建
时间:
2016-7-1 20:28
在java中,遇到+,-,*,/,%运算符的时候,遵循如下规则:
只要两个数据中有一个double类型的,另一个也会转为double类型,并且结果为double类型;
只要两个数据中有一个float类型的,另一个也会转为float类型,并且结果为float类型;
只要两个数据中有一个long类型的,另一个也会转为long类型,并且结果为long类型;
初此之外,(byte,short,int,char)两个操作数都会转为int类型,并且结构为int类型。
所以本题中只有A返回的是byte类型的数据,因为进行了数据的强转。
B,C,D最后都是两个byte类型的数据进行计算,所以都会转化为int类型,并且返回int类型的数据
作者:
qinxuezilu1314
时间:
2016-7-1 20:42
楼上正解,就A对b1和b2的运算进行了括号,指的是运算结果进行强转,后面都是提升了数据类型到int上面了
作者:
他的好
时间:
2016-7-1 21:04
是的,楼上正解
作者:
云袭
时间:
2016-7-1 21:34
赞.........
作者:
940752944
时间:
2016-7-1 22:04
楼上的楼上正解
作者:
shuiwa
时间:
2016-7-1 22:31
楼上正解
作者:
rentianyn
时间:
2016-7-1 22:40
不错 涨姿势了
作者:
一面
时间:
2016-7-1 22:51
学习了~~
作者:
happyburglar
时间:
2016-7-1 22:55
选D吧?
作者:
Condy
时间:
2016-7-1 23:02
楼上正解
作者:
suming
时间:
2016-7-1 23:08
学到了 谢谢
作者:
axiaowenjin
时间:
2016-7-1 23:11
学到了,谢谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2