首页 > 解决方案 > java中的for循环和i的值

问题描述

在 Horstmann 的 Java 教科书(Big Java Late Objects)中,for 循环如下:

for (i = 0; i <= 5; i++)

Horstmann 说ifor 这个 for 循环的值是0 1 2 3 4 5.

但是,在我看来, 的值应该以 6 结束,因为当的值为 5i时进入循环。i我对这个循环有什么不明白的地方可以解释一下吗?

(PS。如果这个问题太基础,所以这个平台不允许。我很抱歉。)

关于重复建议的编辑:我的问题不是建议链接的重复,因为建议的链接是关于 for 循环的执行,我的问题是关于在执行结束后更新变量 i 。我知道如果我要添加一个 System.out.print(i) 语句,输出将是 0 1 2 3 4 5 因为我在执行语句之后得到更新(在这种情况下是 print 语句)

标签: java

解决方案


您是正确的,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

推荐阅读