A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 清凉 中级黑马   /  2016-7-1 20:03  /  1404 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

其中有一个是这道
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

12 个回复

倒序浏览
在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:43
藤椅
楼上正解,就A对b1和b2的运算进行了括号,指的是运算结果进行强转,后面都是提升了数据类型到int上面了
回复 使用道具 举报
他的好 来自手机 中级黑马 2016-7-1 21:04:41
板凳
是的,楼上正解
回复 使用道具 举报
赞.........
回复 使用道具 举报
楼上的楼上正解
回复 使用道具 举报
shuiwa 来自手机 中级黑马 2016-7-1 22:31:54
7#
楼上正解
回复 使用道具 举报
不错 涨姿势了
回复 使用道具 举报
学习了~~
回复 使用道具 举报
选D吧?
回复 使用道具 举报
楼上正解
回复 使用道具 举报
学到了 谢谢
回复 使用道具 举报
学到了,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马