(for)循环迭代多少次?

时间:2014-09-04 00:58:52

标签: for-loop

基本问题:

for(int i=start;i<=end;i+=step){
    System.out.println("Test");
}

开始&lt;端

循环运行的频率,数学公式分别是什么?

2 个答案:

答案 0 :(得分:2)

我们需要知道start,end和step的值是什么。

if:
  start = 0;
  end = 10;
  step = 1;

它将循环11次,每次将i加上前一个值,直到它为&lt; = 10.(0,1,2,3,4,5,6,7,8,9,10, 11)

if:
  start = 0;
  end = 10;
  step = 2;

它将循环6次,每次将i加上前一个值2,直到它<= 10.(0,2,4,6,8,10)

if:
  start = 10;
  end = 100;
  step = 10;

它会循环10次,每次加上10的前一个值,直到它<= 100.(10,20,30,40,50,60,70,80,90,100)

等等。

答案 1 :(得分:1)

您的for循环是以下代码的简写:

int i = start;
if (i <= end) {
    /* loop body */
    i += step;
}

要回答您的问题,它将运行ceiling((end - start + 1) / step)次。通过纸上的逻辑来看看你是否得出了同样的结论。