j初始值为0,j=j++;循环100遍值为多少?

2014-06-25 06:30:02 阅读( 162 )

1888人 收藏本页

标签:Java面试题

int j = 0;
for (int i = 0; i < 100; i++){
j = j++;
}
System.out.println(j);

结果会让你很傻眼:0

为什么会出现这种情况?原因是每次运行j=j++,都是将j本身赋值给j,并且当次循环结束!下次仍然又将0赋给j。所以最终的答案为0。如何避免呢?可以将表达式改为:j=++j 。

来自IT公司面试手册

下一篇:java一天中的所有微秒除以一天中所有的毫秒等于5还是?

上一篇:java陷阱之随机数问题

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息: 面试题