在这个论坛中浏览问题和答案时,我发现一段代码的名称被赋予循环以便将它们用于休息。喜欢
nameofloop:
for(){
for(){
if(){ break nameofloop;}
}
}
我是编程新手,之前我还没有看到过。我的问题是命名循环的其他用途是什么?
答案 0 :(得分:8)
这不是标记循环,只是您放置在任何位置的标签,然后您可以根据您的条件“中断”或“继续”。你也可以在嵌套的if-else中使用for循环来破坏用if-else修饰的几个循环,这样你就可以避免设置很多标志并在if-else中测试它们以便继续或不在这个嵌套中水平。
不鼓励使用它,因为它类似于goto并导致意大利面条代码。
我个人之前只使用过一次,为了在其他两个for循环中使用if-else打破for循环并继续在外循环中,因为循环中的break
打破了这个循环,但是你继续在外循环,而不是我的情况下最外层。
答案 1 :(得分:6)
你也可以说:
continue nameofloop;
...跳转到命名循环的开始。我不认为Java中的标签有任何其他用例。
答案 2 :(得分:5)
它被称为带标签的断点,它是一种分支声明。您可以在Official Documention中看到所有示例。
答案 3 :(得分:2)
据官方统计,我认为这被称为“标记中断”。它对于打破嵌套循环非常有用,例如:
found:
for (int i = 0; i < 100; i++)
for (int j = 0; j < 100; i++)
if ( /* Some condition is met */)
break found;
我不认为它对其他任何东西都有用。
答案 4 :(得分:1)
我认为这是唯一使用它的情况。并且它不是常用的东西,因为更改标志的值以过早地结束循环通常更具可读性。
答案 5 :(得分:-4)
创建一个大小为10的数组(int
)。
让用户分配值 - (使用for-loop)。
查找存储在数组中的值的总和 - (使用for循环)。