-7

我有一个简单的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,nit 5。这是为什么呢?

谢谢

4

3 回答 3

2

因为你i++for{..}循环中增加 i 值

for (i = 2; i <= 5; i++)
                     ^ here

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

在该增量或减量将完成之后

过程将是

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

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

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

6
于 2013-10-05T10:32:05.507 回答
0

for 循环:

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

}

有条件i <= 5,条件是false何时i = 6,循环中断,进入打印行。

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

于 2013-10-05T10:34:51.630 回答
0

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

于 2013-10-05T10:37:42.047 回答