edd99881d7
Also removed Preferences appendix
66 lines
1.4 KiB
Java
66 lines
1.4 KiB
Java
// control/LabeledFor.java
|
|
// (c)2017 MindView LLC: see Copyright.txt
|
|
// We make no guarantees that this code is fit for any purpose.
|
|
// Visit http://OnJava8.com for more book information.
|
|
// For loops with "labeled break"/"labeled continue."
|
|
|
|
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++) {
|
|
System.out.println("i = " + i);
|
|
if(i == 2) {
|
|
System.out.println("continue");
|
|
continue;
|
|
}
|
|
if(i == 3) {
|
|
System.out.println("break");
|
|
i++; // Otherwise i never
|
|
// gets incremented.
|
|
break;
|
|
}
|
|
if(i == 7) {
|
|
System.out.println("continue outer");
|
|
i++; // Otherwise i never
|
|
// gets incremented.
|
|
continue outer;
|
|
}
|
|
if(i == 8) {
|
|
System.out.println("break outer");
|
|
break outer;
|
|
}
|
|
for(int k = 0; k < 5; k++) {
|
|
if(k == 3) {
|
|
System.out.println("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
|
|
*/
|