java code: int i=1; i+=i++; System.out.println(i) 结果为2,谁能告诉我为什么?!
5个回答
展开全部
i+=i++
就等于i=i+(i++)
就等于i=1+(i++)
因为i++是先赋值后运算
所以i=1+1然后i++
所以结果是2
就等于i=i+(i++)
就等于i=1+(i++)
因为i++是先赋值后运算
所以i=1+1然后i++
所以结果是2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我觉得应该等于3..
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-03-25
展开全部
sum++是一个表达式
其结果是sum的值,然后sum的值进行+1操作
给你解释一下第一次循环
首先sum++的是还是0 但是此时 sum的值是1
然后你又将sum的值重新赋值成 sum++的值0
所以sum++之后sum的值是1,又经过赋值之后,又回归成0了
所以sum的值是0
再次循环同样
其结果是sum的值,然后sum的值进行+1操作
给你解释一下第一次循环
首先sum++的是还是0 但是此时 sum的值是1
然后你又将sum的值重新赋值成 sum++的值0
所以sum++之后sum的值是1,又经过赋值之后,又回归成0了
所以sum的值是0
再次循环同样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-03-25
展开全部
和运算符的优先级有关,建议楼主参考下运算符的优先级(执行顺序)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询