break语句在java中做了什么?

有谁知道group_skip做什么?

也许这是一个基本的编程,但我已经使用Java编程了几年,今天才发现它。

 group_skip: do { event = stepToNextEvent(FormController.STEP_OVER_GROUP); switch (event) { case FormEntryController.EVENT_QUESTION: case FormEntryController.EVENT_END_OF_FORM: break group_skip; } } while (event != FormEntryController.EVENT_END_OF_FORM); 

谢谢!

这是一个标记循环 ,当break group_skip; 如果语句被执行,它将跳出do while循环,标记为group_skip

 boolean isTrue = true; outer: for (int i = 0; i < 5; i++) { while (isTrue) { System.out.println("Hello"); break outer; } // end of inner while System.out.println("Outer loop"); // does not print } // end of outer loop System.out.println("Good Bye"); 

这输出

 Hello Good Bye 

你可以在这里明确这个概念。

  • 有一个标记for循环,称为outer并有内部while循环
  • 当执行内部for循环时,它遇到break outer; 声明
  • outer for loop有一个System.out.println"Outer loop"语句,但不会打印。
  • 这是因为break outer out导致控件直接跳出带标签的for循环

现在这个例子用于continue语句

 outer: for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { System.out.println("Hello"); continue outer; } // end of inner loop System.out.println("outer"); // this won't print } // end of outer loop System.out.println("Good bye"); 

这打印

 Hello Hello Hello Hello Hello Good bye 
  • 这里有一个标记for循环和一个内循环
  • Inner for循环打印Hello并继续到outer循环。
  • 因此,跳过inner for循环下面的语句, outer循环继续执行。
  • outer for循环结束时,打印Good Bye

希望这能让一切变得清晰。

group_skip是一个标签。 标签允许您在嵌套时断开或继续特定循环。

以下是Oracle就此主题所说的话。

当我们使用简单的break语句时,我们只能将控制从最内层循环转移到最外层(如果我们有循环嵌套)。 例如

 for(int i=0; i < 10; i++){ if(i==5){ break; } } statement x; 

将简单地将控件转移到语句x 。 但是如果你在嵌套循环中使用它,那么它将以不同的方式工作。

 for(int i=0; i < 10; i++){ for(int j=0; j < 10; j++) if(i==5){ break; } } statement y; } statement x; 

在这种情况下,它会将控件发送到语句y 。 如果要将控件从最内层循环发送到最外层循环或循环外部,那么您需要带有标签的中断语句。 只是从你自己做,你会看到有趣的输出.. 🙂

group_skip是一个用于break之类的标签。 (还可以转到其他语言并跳转)

在java中,它特别用于从标签标识的代码块break ,在while循环中表现得像break语句,除了从标记的代码块中断。

以下是关于该主题的更多讨论