Java while和for循环之间的区别

时间:2015-09-23 22:12:25

标签: java for-loop while-loop

以下是关于这两个循环的代码

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循环时,只是永远不要停止并打印结果。我不知道为什么。我认为它们是一样的。

2 个答案:

答案 0 :(得分:1)

那是因为在while循环中,k++只发生在else案例中。在for循环中,每个循环都会发生k++

答案 1 :(得分:0)

您的return循环将永远存在,因为您只会在while块中增加kelse循环终止,因为for 始终递增,无论k是否为k<h