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
语句,除了从标记的代码块中断。
以下是关于该主题的更多讨论