java - java中的for循环和i的值

标签 java

在 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/

相关文章:

java - 如何从底部设计圆形 View ?

Java电子邮件消息解析器?

java - 添加网站不同子目录的不同 Intent

java - 加载相对于正在执行的 jar 文件的文件

java - 无法在 android studio 中启动新项目,显示 IDE 错误

java - 相等的对象必须具有相等的哈希码?

java - 为什么在我的 LinkedBinaryTree 实现中只添加了根

java - 导入Java项目,找不到src

java - 将TextureRegion翻转为纹理

java - javafx中的后台服务和服务监控