【问题标题】:for() statement instructions orderfor() 语句指令顺序
【发布时间】:2014-11-13 16:18:37
【问题描述】:

我想确保我理解 Java 中的 for() 循环。来自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.outx=x-y 之后是否递增?

【问题讨论】:

  • 有这个东西调试器你可以用...你知道的

标签: java for-loop iteration


【解决方案1】:

这个区块

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

等价于

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

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

所以你的评论//actual x++ operation? 在正确的地方:紧接在你的右大括号之前。

【讨论】:

  • 我一直觉得用while循环来表达执行流程是最容易解释的;虽然这也有效
【解决方案2】:

是的。 X 在完成操作运行后递增。因此,即使您对 x 做任何事情,它也应该增加。因此,在每一步中,您都从 x 中减去一个,因为您首先减去两个,然后从增量中添加一个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-26
    • 2012-07-24
    • 1970-01-01
    • 1970-01-01
    • 2015-01-16
    • 1970-01-01
    • 2023-03-25
    相关资源
    最近更新 更多