for循环的循环计数器的值比从循环退出后的预期值大1

时间:2013-10-05 10:30:16

标签: java loops for-loop

我有一个简单的for循环,它允许循环计数器i最多为5。

 int i;
 double n = 1 / 2; 
 for (i = 2; i <= 5; i++) {
    n = n + 1.0 / i; 
 }
 System.out.print(i);

所以我希望在循环结束后计数器的值为5。但价值是6,尼特5.为什么会这样?

由于

3 个答案:

答案 0 :(得分:2)

因为您在i++循环

中将i值递增为for{..}
for (i = 2; i <= 5; i++)
                     ^ here

在检查条件后的for循环中,将执行正文部分

在完成增量或减量后

流程

               <----
     1step  2step  4step
for (i = 2; i <= 5; i++){
  /*body part*/
   3step
}

在第4步之后,它将移动以检查第2步,即条件部分

这就是为什么它将i值打印为

6

答案 1 :(得分:0)

for循环:

for (i = 2; i <= 5; i++) {
    // code

}

条件为i <= 5,条件为falsei = 6且循环中断,将转到打印行。

感谢您提醒我第一次编程经验,当我以前编写代码a = 5并打印它以查看它在控制台中显示的内容时。 :)

答案 2 :(得分:0)

i++i = i + 1相同。在这种情况下,您还可以使用++i并获得相同的结果。