loop - for(i = 0; i <n; i ++)=“”equivalent =“”

时间:2016-01-07 07:31:17

标签: loops for-loop

=“”

确切的执行流程是什么for(i=0; i<n; i++)

是吗:

i=0;
while (true) {
  if (i<n) {
    i++;
    //loop body
  }
  else {
    break;
  }
}

并且for (i=0; i<n; i++)相当于for (i=0; i++<n;),为什么或为什么不呢? 这是一个非语言特定的问题。但要说清楚,请在Java中说。

1 个答案:

答案 0 :(得分:0)

除了一个细节之外,你的while循环是等效的,计数器在循环体之后递增。对于您的版本,在每次迭代中打印i将输出1作为第一个数字,但是经典的for循环将从0开始。此外,if是多余的,因为您可以移动它条件进入while循环并完全避免break

int i = 0;
while (i < n) {
    //body
    i++;
}

for (i=0; i++<n;)也不正确,因为它会在边界检查中增加i,这意味着您遇到与以前相同的问题:i在第一次正文迭代中将为1。 / p>