for()语句指令顺序

时间:2014-11-13 16:18:38

标签: java for-loop iteration

我想确保我理解java中的()循环。来自java教程:

for (initialization; termination; increment) {
    statement(s)
}

文档说:"每次迭代循环后都会调用增量表达式"

int x = 10;
for(int y=2;x!=1;x++){
    System.out.print(x);
    x=x-y;
    //actual x++ operation?
}
//prints 10 9 8 7 6 5 4 3 2

xSystem.out之后x=x-y递增?

2 个答案:

答案 0 :(得分:4)

此块

for (initialization; termination; increment) {
    statement(s)
}

相当于

{
    initialization;
    for (; termination; ) {
        statement(s)
        increment;
    }
}

注意第二个等效的额外范围括号。这强调在初始化步骤中声明的变量在最终}之后超出范围。

因此,您的评论//actual x++ operation? 位于正确的位置:紧接在您的右大括号之前。

答案 1 :(得分:3)

是。运行完整操作后,X会递增。因此,即使你对x做了事情,它也应该增加..所以在每一步中你从x中减去一个因为你从减去两个开始,然后从增量中加一个。