在 Horstmann 的 Java 教科书(Big Java Late Objects)中,对于 for 循环,例如:
for (i = 0; i <= 5; i++)
Horstmann 表示此 for 循环的 i
值为 0 1 2 3 4 5
。
但是,在我看来, i
的值应该以 6 结束,因为当 i
的值为 5 时进入循环。我对这个循环有什么不明白的地方,有人可以解释一下吗?
(PS。如果问题太基础,因此在这个平台上不允许,我很抱歉。)
编辑重复的建议:我的问题不是建议链接的重复,因为建议链接是关于 for 循环的执行,我的问题是关于执行结束后变量 i 的更新。我知道如果我添加 System.out.print(i) 语句,输出将为 0 1 2 3 4 5 因为 i 在执行语句(在本例中为 print 语句)后更新
最佳答案
您认为循环终止后 i
的值将为 6,这是正确的,但也许 Horstmann 的意思是循环内 i
的值?
int i;
for (i = 0; i <= 5; i++) {
System.out.println("Value of i IN loop: " + i);
}
System.out.println("Value of i AFTER loop: " + i);
输出:
Value of i IN loop: 0
Value of i IN loop: 1
Value of i IN loop: 2
Value of i IN loop: 3
Value of i IN loop: 4
Value of i IN loop: 5
Value of i AFTER loop: 6
并且习惯上在循环中声明循环的“计数器”,除非之后需要终止时的值。
for (int i = 0; i <= 5; i++) {
}
// i is not available here
关于java - java中的for循环和i的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52775651/