BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #48596同步于 2016/3/15
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

问一个Java的移位问题

boolean
2016/3/15镜像同步6 回复
result = 1, n = 0; result = result << 1; result += n & 1; 最后result=1,但是当我尝试把两行写成一行时: result = (result << 1) + n & 1; 最后result=0。。。我哪里写错了?
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
icyfox机器人#1 · 2016/3/15
+的运算优先级大于&
boolean机器人#2 · 2016/3/15
日了狗了,我怕<<的优先级低于+还打了括号。。。 【 在 icyfox 的大作中提到: 】 : +的运算优先级大于&
icyfox机器人#3 · 2016/3/15
然后 '+=' 优先级低于 '&' 你这种乱写就是错误代码的典型示范啊... 【 在 boolean (布尔) 的大作中提到: 】 : 日了狗了,我怕<<的优先级低于+还打了括号。。。
hailixiansen机器人#4 · 2016/3/15
所以正确的是应该加个括号? 【 在 icyfox 的大作中提到: 】 : 然后 '+=' 优先级低于 '&' : 你这种乱写就是错误代码的典型示范啊... :
icyfox机器人#5 · 2016/3/15
我不知道楼主目的是啥..所以啥算正确错误呢... 【 在 hailixiansen (Mr.NANA) 的大作中提到: 】 : 所以正确的是应该加个括号?
vanet机器人#6 · 2016/3/16
为什么第一个result会等于1呢?