64 lines
1.3 KiB
Java
64 lines
1.3 KiB
Java
|
//: control/LabeledFor.java
|
|||
|
// <20>2015 MindView LLC: see Copyright.txt
|
|||
|
// For loops with "labeled break" and "labeled continue."
|
|||
|
import static com.mindviewinc.util.Print.*;
|
|||
|
|
|||
|
public class LabeledFor {
|
|||
|
public static void main(String[] args) {
|
|||
|
int i = 0;
|
|||
|
outer: // Can't have statements here
|
|||
|
for(; true ;) { // infinite loop
|
|||
|
inner: // Can't have statements here
|
|||
|
for(; i < 10; i++) {
|
|||
|
print("i = " + i);
|
|||
|
if(i == 2) {
|
|||
|
print("continue");
|
|||
|
continue;
|
|||
|
}
|
|||
|
if(i == 3) {
|
|||
|
print("break");
|
|||
|
i++; // Otherwise i never
|
|||
|
// gets incremented.
|
|||
|
break;
|
|||
|
}
|
|||
|
if(i == 7) {
|
|||
|
print("continue outer");
|
|||
|
i++; // Otherwise i never
|
|||
|
// gets incremented.
|
|||
|
continue outer;
|
|||
|
}
|
|||
|
if(i == 8) {
|
|||
|
print("break outer");
|
|||
|
break outer;
|
|||
|
}
|
|||
|
for(int k = 0; k < 5; k++) {
|
|||
|
if(k == 3) {
|
|||
|
print("continue inner");
|
|||
|
continue inner;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
// Can't break or continue to labels here
|
|||
|
}
|
|||
|
} /* Output:
|
|||
|
i = 0
|
|||
|
continue inner
|
|||
|
i = 1
|
|||
|
continue inner
|
|||
|
i = 2
|
|||
|
continue
|
|||
|
i = 3
|
|||
|
break
|
|||
|
i = 4
|
|||
|
continue inner
|
|||
|
i = 5
|
|||
|
continue inner
|
|||
|
i = 6
|
|||
|
continue inner
|
|||
|
i = 7
|
|||
|
continue outer
|
|||
|
i = 8
|
|||
|
break outer
|
|||
|
*///:~
|