以下是关于这两个循环的代码
int[] b = {0, 1, 2, 3, 4, 6, 7, 8};
int k=0;
int h=b.length;
int x=3;
while(k<h){
if(x>=b[k]){
if(x < b[k+1]){
System.out.println("k = " + k);
break;
}
}
else{
k++;
}
}
这是for循环:
for(int k=0; k<h;k++){
if(x>=b[k]){
if(x < b[k+1]){
System.out.println("k = " + k);
break;
}
}
}
但只有循环可以得到正确的结果。当我运行while循环时,只是永远不要停止并打印结果。我不知道为什么。我认为它们是一样的。
答案 0 :(得分:1)
那是因为在while
循环中,k++
只发生在else
案例中。在for
循环中,每个循环都会发生k++
。
答案 1 :(得分:0)
您的return
循环将永远存在,因为您只会在while
块中增加k
。 else
循环终止,因为for
始终递增,无论k
是否为k<h
。