14
2020
02

未标记和已标记的中断语句之间有什么区别?

未标记的break语句终止最内层的switch,for,while或do-while语句,而带标签的break则结束外部语句的执行。


让我们创建一个示例来演示:


int[][] table = { { 1, 2, 3 }, { 25, 37, 49 }, { 55, 68, 93 } };

boolean found = false;

int loopCycles = 0;

 

outer: for (int[] rows : table) {

    for (int row : rows) {

        loopCycles++;

        if (row == 37) {

            found = true;

            break outer;

        }

    }

}

当找到数字37时,标记的break语句终止最外面的for循环,并且不再执行循环。因此,loopCycles以值5结束。


然而,未标记的break仅结束最里面的语句,控制流返回到最外对于该继续循环到下一行中的表的变量,使得loopCycles为8的值结束

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。