有谁知道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);
谢谢!
答案 0 :(得分:15)
这是labelled loop,当执行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
循环break outer;
语句outer for loop
有一个System.out.println"Outer loop"
声明,但不会打印出来。break outer
导致控件直接跳出标记的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
的循环和一个内部for
循环for
循环打印Hello
并继续outer
循环。for
循环下面的语句,继续执行outer
循环。outer
for循环结束时,会打印Good Bye
希望这能使一切变得清晰。
答案 1 :(得分:8)
group_skip
是一个标签。标签允许您在嵌套时打破或继续特定的循环。
答案 2 :(得分:5)
当我们使用简单的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 。如果要将控件从最内层循环发送到最外层循环或循环外部,那么您需要带有标签的这样的break语句。只是从你自己做,你会看到有趣的输出.. :)
答案 3 :(得分:0)
group_skip
是用于休息之类的标签。 (还可以转到其他语言并跳转)
在java中,它特别用于从标签标识的代码块中断,在while循环中表现得像break
语句,除了从标记的代码块中断。
Here是关于该主题的更多讨论