【问题标题】:The Iterator's Value WHEN The Loop Stops Executing循环停止执行时迭代器的值
【发布时间】:2016-07-02 11:53:00
【问题描述】:

我正在使用 Java 中的这段代码:

int i = 2;
for (int j=0; j < 12; j++) {
    i += j;
}

还有一个关于j 值的测验循环停止执行。 j 的值 after 循环停止执行显然是12。但是,什么时候呢?

我试图通过添加以下内容来克服我的困惑:

System.out.println(j);

在循环语句之后却发现是一个错误(找不到j的符号)。

谁能解释一下?谢谢

【问题讨论】:

  • j 在循环之外是未知的,因为它是在 for 初始化中定义的。将您的System.out.println 放入循环中,然后查看它的最后一个值。
  • 当循环停止执行时,这是因为j=12 - 所以12是when的值

标签: java loops for-loop iteration


【解决方案1】:

如果您在循环内声明j,则j 在循环结束后没有任何值,因为它超出了它的范围。

如果你在循环之前声明j,你将能够在循环之后打印它的值,它将是12。

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

【讨论】:

    【解决方案2】:

    您无法打印出 j 变量,因为它仅包含在您的 for 循环循环中。

    要正确打印出来,您必须在循环外定义 j 变量。

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

    【讨论】:

    • 啊,我明白了!谢谢。现在我明白了:D
    猜你喜欢
    • 2015-05-04
    • 2016-08-18
    • 1970-01-01
    • 2022-08-18
    • 1970-01-01
    • 2012-03-05
    • 1970-01-01
    • 2019-05-20
    • 2019-06-22
    相关资源
    最近更新 更多