14
2020
02

未标记和标记的continue语句之间有什么区别?

未标记的continue语句跳转到最里面for,while或do-while循环的当前迭代的末尾,而标记的continue跳转到标记有给定标签的外循环。


这是一个演示这个的例子:


int[][] table = { { 1, 15, 3 }, { 25, 15, 49 }, { 15, 68, 93 } };

int loopCycles = 0;

 

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

    for (int row : rows) {

        loopCycles++;

        if (row == 15) {

            continue outer;

        }

    }

}

推理与前一个问题相同。标记的continue语句终止最外面的for循环。


因此,loopCycles结束保持值5,而未标记的版本仅终止最内层语句,使loopCycles以值9结束。

« 上一篇 下一篇 »

发表评论:

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