Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 给循环命名_Java_Loops - Fatal编程技术网

Java 给循环命名

Java 给循环命名,java,loops,Java,Loops,在浏览这个论坛的问题和答案时,我发现有一段代码是为循环命名的,以便在休息时使用它们。像 nameofloop: for(){ for(){ if(){ break nameofloop;} } } 我是编程新手,以前从未见过。我的问题是命名循环还有什么其他用途?我认为这是唯一使用命名循环的情况。这不是常用的方法,因为更改标志的值以提前结束循环通常更具可读性。正式地说,我认为这被称为“标记中断”。它有助于打破嵌套循环,例如

在浏览这个论坛的问题和答案时,我发现有一段代码是为循环命名的,以便在休息时使用它们。像

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

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

我认为这是唯一使用命名循环的情况。这不是常用的方法,因为更改标志的值以提前结束循环通常更具可读性。

正式地说,我认为这被称为“标记中断”。它有助于打破嵌套循环,例如:

found:
    for (int i = 0; i < 100; i++)
        for (int j = 0; j < 100; i++)
            if ( /* Some condition is met */)
                break found;
找到:
对于(int i=0;i<100;i++)
对于(int j=0;j<100;i++)
如果(/*满足某些条件*/)
破发;
我认为它对其他任何东西都没有用处。

你也可以说:

continue nameofloop;

…以跳转到命名循环的开头。我认为Java中没有任何其他标签用例。

这不是一个带标签的循环,只是一个放置在任何位置的标签,然后可以根据您的条件“中断”或“继续”。您还可以在嵌套的if-else for循环中使用,以断开用if-else修饰的多个循环,因此您可以避免在if-else中设置大量标志并测试它们,以便在此嵌套级别中继续或不继续

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


就我个人而言,很久以前我只使用过一次,用if-else在另外两个for循环中打断for循环,并在外循环中继续,因为
break
在一个循环中打断这个循环,但你在外循环中继续,而不是在我的情况下最外层的循环。

它被称为带标签的break,它是分支语句的一种形式。您可以在中看到所有示例

  • 创建一个大小为10的数组(
    int

  • 让用户分配值-(用于循环)

  • 查找数组中存储的值的总数和平均值-(用于-loop)


  • 您不能将它放在任何地方,只能放在语句之前(并且它仅对包含其他嵌套语句的语句有用)。(并且
    continue label;
    只有当它实际上是一个被标记的循环时才可能。)是的,我试图说明它的用法。这是如何回答这个问题的?