提问者:小点点

这个循环执行多少次迭代?


这就是我考试不及格的问题。 我的答案是9次,因为我数了数,循环将再做一轮来检查条件是否为假,并且只有在这之后它才退出增强循环。

int array[] = {81,13,10,34,23,234,8,33};
int value = array[0]; 
int value2 = value;
for (int element : array){
    if (element > value){
        value = element;
    }
    if (element < value2){
        value2 = element;
    }
}

你能帮我澄清循环工作的确切次数吗?它是否在最后一轮检查条件,即使元素等于33?


共3个答案

匿名用户

对于(int element:array)的语法意味着您将对每个值逐个进行迭代,因此迭代量与值的数量相同,即8

匿名用户

检查这一点的最简单方法是将计数器变量初始化为0并在循环中递增

匿名用户

你可以运行这个程序并检查答案。

int count=0;
        int array[] = {81,13,10,34,23,234,8,33};
        int value = array[0];
        int value2 = value;
        for (int element : array){
            if (element > value){
                value = element;
            }
            if (element < value2){
                value2 = element;
            }
            count++;
        }
        System.out.println("Loop is executed " + count + " times");