首页 > 解决方案 > java - 如何使用java中的标签从一个for循环跳转到另一个for循环?

问题描述

当我尝试从另一个循环访问 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 个错误

标签: javacontinuelabeled-statements

解决方案


JLS说:

标识符被声明为立即包含的语句的标签。... 与 C 和 C++ 不同,Java 编程语言没有 goto 语句;标识符语句标签与breakcontinue语句一起使用......出现在带标签的语句中的任何位置。

带标签语句的标签范围是立即包含的语句。

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

这会导致编译时错误。

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


推荐阅读