为循环命名

2022-09-02 09:42:53

在浏览这个论坛中的问题和答案时,我发现一段代码被赋予了循环的名称,以便将它们用于休息。喜欢

nameofloop:
    for(){
        for(){
             if(){ break nameofloop;}
        }
    }

我是编程新手,我以前从未见过。我的问题是命名循环还有其他用途吗?


答案 1

这不是一个带标签的循环,只是一个标签,你把它放在任何地方,然后你可以“打破”或“继续”,这取决于你的条件。您还可以在嵌套的 if-else 中使用 for 循环,以便中断几个用 if-else 修饰的循环,这样您就可以避免设置大量标志并在 if-else 中测试它们,以便在此嵌套关卡中继续或不继续。

不鼓励使用它,因为它类似于goto并导致意大利面条代码。

就我个人而言,我只用过一次,很久以前,为了在另外两个for循环中打破一个for循环,并在外部循环中继续,因为内部循环会破坏这个循环,但是你继续在外部循环中,而不是我的情况。break


答案 2

你也可以说:

continue nameofloop;

...以跳转到命名循环的开头。我不认为Java中标签还有其他用例。


推荐