【发布时间】:2018-08-14 11:05:33
【问题描述】:
public class Temp {
public static void main(String[] args) {
for (int i = 0; i < 10;){
i = i++;
System.out.println("Hello world");
}
}
}
为什么i 没有增加,因为我们正在增加它,但它仍然没有增加
正如我们在进行后增量时在 for 循环中看到的那样,当我们进行预增量时它不起作用并且进入无限循环
i = ++i 它工作正常,即使我们像 i = (i=i+1) 一样工作,它也能正常工作
但不是在我们进行后期增量时
i 被分配给 i++ 并且 i 的时间值为 0,但在它增加 1 后立即比它应该反映在下一次循环迭代
为什么不反映?
【问题讨论】:
-
首先评估
i,然后递增i,然后将评估结果(第一个)分配给i,使其保持原样。
标签: java for-loop infinite-loop post-increment unary-operator