在嵌套循环内递增

Incrementing within nested loop

我有一个非常直接的问题。在下面的程序中,为什么 i 在 for 循环的第一次迭代中没有递增到 1?我的编译器显示对于第一个 运行,j 不小于 i,因为它们都是 0。谢谢!

  int i;
  for (i = 0; i < 5; i++) {
    int j = 0;
    while (j < i) {
      System.out.print(j + " ");
      j++;

i 的值在第一次迭代时为 0,在第二次迭代时为 1。采取以下措施:

for (int i = 0; i < 5; i++) {
    // loop code
}

上面的for循环只是语法糖:

{ 
    int i = 0;
    while (i < 5) {
        // loop code
        i++;
    }
}

请注意,外括号表示在 for 循环退出后变量 i 不再在范围内。

while (j <= i) 

输出:0 0 1 0 1 2 0 1 2 3 0 1 2 3 4