循环停止执行时迭代器的值

时间:2016-03-16 14:21:58

标签: java loops for-loop iteration

我在Java中使用这段代码:

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

当循环停止执行时,j 的值有一个测验。 循环停止执行后j 的值显然是12。但是,何时

我试图通过添加:

来克服我的困惑
System.out.println(j);

循环语句之后但结果是错误(找不到j的符号)。

有人可以解释一下吗?谢谢

2 个答案:

答案 0 :(得分:2)

如果在循环中声明j,则j在循环结束后没有值,因为它超出了其范围。

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

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

答案 1 :(得分:1)

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

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

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