我知道正常的中断和继续的功能彼此不同。但是,使用标签时,这些功能似乎相同。在Java语言中支持这些歧义语句是否不是模棱两可的?

label1:
for(int i=0; i<=m; i++)
{
    for(int j=0; j<=n; j++)
    {
        System.out.println("My Message one");

        break label1;

        System.out.println("My Message two");
    }
}

label2:
for(int i=0; i<=m; i++)
{
    for(int j=0; j<=n; j++)
    {
        System.out.println("My Message one");

        continue label2;

        System.out.println("My Message two");
    }
}

最佳答案

不,他们不一样。

带标签的中断将立即退出命名循环。带标记的continue会结束当前迭代,但是除非其保护条件失败,否则不会退出循环。这与常规break和Continue语句完全相似。

break label1;


这立即退出外循环。

continue label2;


这将退出内部循环并转到外部循环的下一个迭代。

关于java - 标有Break和标为Continue的功能是否相同?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26395840/

10-16 20:00