OnJava8-Examples/control/LabeledFor.java

66 lines
1.4 KiB
Java
Raw Normal View History

2015-09-07 11:44:36 -06:00
// control/LabeledFor.java
// (c)2021 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.
// For loops with "labeled break"/"labeled continue."
2015-06-15 17:47:35 -07:00
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
*/