烟海 发表于 2014-7-18 17:34
还有:不报错的原因是这儿是i++ .
如果是i=i+1,应该就会报错了,
刚刚对这个进行测试了,猜想是正确的,这 ...
Imp_x 发表于 2014-7-18 23:35
i=(byte)(i+1) 为何也是死循环
烟海 发表于 2014-7-18 17:22
楼上给的都非常详细了。。
byte的范围是-128-127 ,
这儿循环语句。for 执行到127之后,会先执行i++,然后再 ...
icris 发表于 2014-7-18 23:38
i+1 是 byte + int ,返回 int ,int 不能转 byte ,应该用i=i+(byte)1
Imp_x 发表于 2014-7-18 23:35
i=(byte)(i+1) 为何也是死循环
Imp_x 发表于 2014-7-19 00:01
i=i+(byte)1 你这样子还是直接报错 丢失精度
icris 发表于 2014-7-19 00:10
大意了…+ 运算直接会提升到 int ,转 byte 不起作用,结果是 int 的 i 和 int 的 1 相加得到 int ,直接 ...
hjfeng1987 发表于 2014-7-18 23:51
大概理解了,就是补码反码那部分要学习下
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |