2015-09-07 11:44:36 -06:00
|
|
|
// control/LabeledFor.java
|
2015-12-15 11:47:04 -08:00
|
|
|
// (c)2016 MindView LLC: see Copyright.txt
|
2015-11-15 15:51:35 -08:00
|
|
|
// We make no guarantees that this code is fit for any purpose.
|
2016-09-23 13:23:35 -06:00
|
|
|
// Visit http://OnJava8.com for more book information.
|
2015-06-15 17:47:35 -07:00
|
|
|
// For loops with "labeled break" and "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++) {
|
2015-11-03 12:00:44 -08:00
|
|
|
System.out.println("i = " + i);
|
2015-06-15 17:47:35 -07:00
|
|
|
if(i == 2) {
|
2015-11-03 12:00:44 -08:00
|
|
|
System.out.println("continue");
|
2015-06-15 17:47:35 -07:00
|
|
|
continue;
|
|
|
|
}
|
|
|
|
if(i == 3) {
|
2015-11-03 12:00:44 -08:00
|
|
|
System.out.println("break");
|
2015-06-15 17:47:35 -07:00
|
|
|
i++; // Otherwise i never
|
|
|
|
// gets incremented.
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
if(i == 7) {
|
2015-11-03 12:00:44 -08:00
|
|
|
System.out.println("continue outer");
|
2015-06-15 17:47:35 -07:00
|
|
|
i++; // Otherwise i never
|
|
|
|
// gets incremented.
|
|
|
|
continue outer;
|
|
|
|
}
|
|
|
|
if(i == 8) {
|
2015-11-03 12:00:44 -08:00
|
|
|
System.out.println("break outer");
|
2015-06-15 17:47:35 -07:00
|
|
|
break outer;
|
|
|
|
}
|
|
|
|
for(int k = 0; k < 5; k++) {
|
|
|
|
if(k == 3) {
|
2015-11-03 12:00:44 -08:00
|
|
|
System.out.println("continue inner");
|
2015-06-15 17:47:35 -07:00
|
|
|
continue inner;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// Can't break or continue to labels here
|
|
|
|
}
|
2015-09-07 11:44:36 -06:00
|
|
|
}
|
|
|
|
/* Output:
|
2015-06-15 17:47:35 -07:00
|
|
|
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
|
2015-09-07 11:44:36 -06:00
|
|
|
*/
|