Java 为什么这些打印不同的输出?

Java 为什么这些打印不同的输出?,java,for-loop,Java,For Loop,我只想了解(inti=1;I这个循环的之间的区别: for(int i=1;i++在循环标准中,i在循环迭代后递增。从: 在循环的每次迭代后都会调用增量表达式;该表达式可以增加或减少一个值 在第二个示例中,它在计算它的表达式中递增,但由于使用了后递增运算符,所以计算的值是旧值。这意味着在打印它时,它已经递增了。为了解释,我仅使用大括号重构语句 for(int i =1;i<4;i++) { System.out.print(i); } System.out.prin

我只想了解(inti=1;I这个循环的
之间的区别:


for(int i=1;i++在循环标准中,
i
在循环迭代后递增。从:

在循环的每次迭代后都会调用增量表达式;该表达式可以增加或减少一个值


在第二个示例中,它在计算它的表达式中递增,但由于使用了后递增运算符,所以计算的值是旧值。这意味着在打印它时,它已经递增了。

为了解释,我仅使用大括号重构语句

for(int i =1;i<4;i++) {
        System.out.print(i);
    }
System.out.println();
for (int i =1;i++<4;) {
        System.out.print(i);
    }
System.out.println();

用于(int i=1;i这意味着编译器将其检查为比4小123,但将其打印为234?@omar el基本上就是这样。@omarel
i++
在其递增之前计算为
i
的值。因此,在循环的第一次中,它将计算
1<4
。有关更多信息,请参阅but For t For ti++的第一个循环在print语句之前我很抱歉我有点confused@omarel该部分仅在循环体完成后执行,如链接中所述。我确实看到术语可能会混淆。ohhh非常感谢,因此for循环的第三部分总是在任务执行后应用??即正确-更多关于结构的解释:并参考上面Carlos Heuberger的链接。
循环的
详细描述(aka规范)
循环:Java语言规范
for(int i =1;i<4;i++) {
        System.out.print(i);
    }
System.out.println();
for (int i =1;i++<4;) {
        System.out.print(i);
    }
System.out.println();