java - 如何使用java中的标签从一个for循环跳转到另一个for循环?

标签 java continue labeled-statements

当我尝试从另一个循环访问 for 循环时,出现以下错误。 我该怎么做有人可以解释一下。

public class Test {
   public static void main(String...rDX) {
      runing:
      for (int i = 1; i < 10; i++)
         System.out.print(i);
      for(int i = 1; i < 10; i++) {
         if (i == 5) {
            continue runing;
         }
      }
   }
}

错误: java:28: 错误:未定义标签:正在运行 继续运行; ^ 1 个错误

最佳答案

JLS说:

The Identifier is declared to be the label of the immediately contained Statement. ... Unlike C and C++, the Java programming language has no goto statement; identifier statement labels are used with break or continue statements ... appearing anywhere within the labeled statement.

带标签语句的标签范围是直接包含的语句。

在您的情况下,紧随标签 runing 的 for 循环没有提及该标签。第二个 for 循环尝试继续到标签。但它不是第一个 for 循环的一部分,因此是紧随其后的语句的一部分。

这会导致编译时错误。

因此,为了在语法上正确使用标签从一个 for 循环跳转到另一个 for 循环,您需要一个包含标签的外循环。但我认为这不是正确的方法。

关于java - 如何使用java中的标签从一个for循环跳转到另一个for循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52886933/

相关文章:

java - Java中的RSA加密

java - 做一个 java 测验并重复错误的答案?

c# - 使用 continue 关键字的目的是什么

java - Java 代码中的 "loop:"。这是什么,为什么要编译?

java - 为什么 Spring 将构造函数 arg 报告为不明确

java - 如何在Java中将文本文件中的数据读取到数组中,跳过某些元素

Python:发生外部异常时如何正确继续while循环

在 C 中的嵌套循环内继续

java - 休息的标签可以有任何名称吗?