Reputation: 5698
Does anyone knows what the group_skip
do?
Maybe it is a basic programming, but I've been programming using Java for some years and just found it today.
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);
Thanks!
Upvotes: 8
Views: 29350
Reputation: 13556
This is a labelled loop, when break group_skip;
statement is executed, it will jump out of the do while loop which is labelled as 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");
This outputs
Hello
Good Bye
You can get the concept clear here.
for
loop called outer
and there is inner while
loopbreak outer;
statementouter for loop
has a System.out.println"Outer loop"
statement but that does not get printed.break outer
causes the control to jump out of labelled for
loop directlyNow this example for continue
statement
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");
This prints
Hello
Hello
Hello
Hello
Hello
Good bye
for
loop here and an inner for
loopfor
loop prints Hello
and continues to the outer
loop.for
loop are skipped and outer
loop continues to execute.outer
for loop, Good Bye
is printedHope this makes everything clear.
Upvotes: 17
Reputation: 3020
when ever we use simple break statement then we can only transfer control from inner most loop to the outer most (if we have nesting of loops). for exampel
for(int i=0; i < 10; i++){
if(i==5){
break;
}
}
statement x;
will simply transfer the control to statement x. But if you use it inside nested loops then it will work differently.
for(int i=0; i < 10; i++){
for(int j=0; j < 10; j++)
if(i==5){
break;
}
}
statement y;
}
statement x;
in this case it will send the control to statement y. If you want to send the control from innermost loop to either outermost loop or outside the loop then you need such a break statements with labels. Just do it from your self and you will see interesting output.. :)
Upvotes: 4
Reputation: 1265
group_skip
is a label. Labels allow you to break or continue specific loops when you've got them nested.
Here's what Oracle has to say on the subject.
Upvotes: 8
Reputation: 17981
group_skip
is a label used for things like break. (Also goto and jump in other languages)
In java specifically it would be used to break from a code block identified by the label, behaving just like a break
statement in a while loop, except breaking from a labeled code block.
Here is some more discussion on the topic
Upvotes: 0