黑马程序员技术交流社区
标题:
定义 byte b = 1; b = ++b; 正确吗?
[打印本页]
作者:
Hison_lian
时间:
2015-5-12 00:52
标题:
定义 byte b = 1; b = ++b; 正确吗?
定义 byte b = 1; b = ++b; 正确吗?
作者:
想要那片海
时间:
2015-5-12 08:15
字节型的应该也能运算出来吧,在ASCII表中字节也有对应的值,你试一下
作者:
赵旗
时间:
2015-5-12 08:21
正确, b = ++b 虚拟机会自动将++b自动转换成byte类型进行运算 , 如果你要是byte b = 1; b = 1+b; 就是错误的 会报精度损失异常
作者:
iamnoten
时间:
2015-5-12 11:02
是正确的
作者:
虎鹏
时间:
2015-5-12 14:48
正确啊!!!!!
作者:
任帅RS
时间:
2015-5-12 14:53
这是正确的。如果是b=b+1的话就不正确了,整数计算时候自动转换成int类型,需要强制转换。
作者:
lostaloneesk
时间:
2015-5-12 15:31
这个肯定正确的,没有涉及到任何类型转换的问题
作者:
yearn
时间:
2015-5-12 15:37
对的!!
作者:
黑马LM
时间:
2015-5-12 21:23
编译正确! 你想表达什么???
作者:
陈锐涛
时间:
2015-5-12 21:30
应该是编译就 报错了,编译有问题 进度损失,如果想真的通过的话 需要b +=1,(相当于 把左右两边的值 相加 再赋值到左边,隐含强制转化)
作者:
Melo
时间:
2015-5-12 21:36
恩呢 ,是正确的
作者:
Melo
时间:
2015-5-12 21:39
恩呢 是正确的
作者:
陈明佳
时间:
2015-5-12 21:41
会有自动提升的过程,错误
作者:
roybill
时间:
2015-5-12 21:42
是先自增再赋值给b吧,没有什么问题呀
作者:
守株人
时间:
2015-5-12 21:44
是正确的,已经试过了
作者:
V_nan
时间:
2015-5-12 21:46
正确啊,好复杂的一个题啊
作者:
Cat
时间:
2015-5-12 21:47
学习一下~
作者:
shao122791159
时间:
2015-5-12 21:49
++b 这一个操作是给自身的值增一,并没有涉及到加法运算。所以是正确的
作者:
19期1910
时间:
2015-5-12 21:58
正确的。
作者:
二大爷
时间:
2015-5-12 21:59
正确的 运算的时候b自动提升为int ,运算完++b之后,再强转为byte
作者:
代码搬运1号
时间:
2015-5-12 22:24
看似简单 其实复杂
作者:
zhangjnia
时间:
2015-5-12 22:28
应该是正确的,验证一下看看
作者:
Oh.Ba
时间:
2015-5-12 22:30
这个..没问题的
作者:
yuanhnu
时间:
2015-5-12 22:32
byte进行运算会自动转型为int,所以需要强转b=(byte)(++b);
作者:
liya7907
时间:
2015-5-12 22:45
会自动强转,所以正确。
作者:
杨海林
时间:
2015-5-12 22:50
自己运行一下,立马知道啊!
作者:
黄冬
时间:
2015-5-12 22:59
不会报错,b += 1; b = ++b;都不会报错的
作者:
101350
时间:
2015-5-12 23:05
不对啊!会报错
作者:
嘉Ming
时间:
2015-5-12 23:07
赵旗 发表于 2015-5-12 08:21
正确, b = ++b 虚拟机会自动将++b自动转换成byte类型进行运算 , 如果你要是byte b = 1; b = 1+b; 就是错误 ...
赞同!很详细。
作者:
唯Coconut
时间:
2015-5-12 23:18
这个是正确的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2