黑马程序员技术交流社区
标题:
这个题该怎么回答?
[打印本页]
作者:
毅心缘
时间:
2014-6-5 20:17
标题:
这个题该怎么回答?
以下代码哪个是正确的?为什么?
a. byte b = 1 + 1;
b. byte b = 1; b = b + 1;
c. byte b = 1; b = b += 1;
d. byte b = 1; b = ++b;
作者:
赵文豪
时间:
2014-6-5 20:30
感觉选C,其他三项等号右边算出的结果都会自动升级成int型,而等号左边b是byte类型,int占4个字节,byte占1个字节,需要强制类型转换才可,求指正哈
作者:
love~陌
时间:
2014-6-5 20:40
少侠,答案是acd,老夫的答案必须是正确的
作者:
love~陌
时间:
2014-6-5 20:42
在A中,JVM看到等号右边,直接判断,在byte范围内,不会报错;b在编译时报错:可能损失精度;c中表达式只做了一次运算,JVM自己内部做类型转换;d跟c情况类似
作者:
九号球
时间:
2014-6-5 20:44
如果类型不变的话应该是a 吧
作者:
赵洋洋
时间:
2014-6-5 21:04
a是对的
作者:
Boiled_Water
时间:
2014-6-5 21:15
http://bbs.itheima.com/thread-121036-1-1.html
【测试】几行代码测试你对赋值语句的了解
作者:
blackstones1
时间:
2014-6-5 21:15
学习下{:3_59:}
作者:
志ぁ才☆博ぁ成
时间:
2014-6-5 21:20
a和c是正确的
作者:
毅心缘
时间:
2014-6-5 23:32
love~陌 发表于 2014-6-5 20:40
少侠,答案是acd,老夫的答案必须是正确的
前辈。能否给个详细的解释啊?
作者:
love~陌
时间:
2014-6-6 07:40
毅心缘 发表于 2014-6-5 23:32
前辈。能否给个详细的解释啊?
哎,下面不是给了详细解答了么,少侠要有耐性地向下翻下去就能看到我的详细解释
作者:
杨胜男
时间:
2014-6-6 08:01
a,c,d正确
b代码:byte b = 1; b = b + 1;
b是byte型的。b = b + 1中1是int型的,需要强转,即b=(byte)(b+1);不然损失精度
作者:
790324255a
时间:
2014-6-6 08:16
已有帖子说明了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2