标签不常用,一般用于嵌套的循环体,从多层嵌套的循环中break或者continue.
1.一般的continue会退回到最内层循环的开头,并继续执行;带标签的continue会到达标签的位置,并重新进入紧接在标签后边的外层循环。
2.一般的break会中断并跳出当前循环,带标签的循环会中断并跳出标签所指的循环。
public class LabelTest { public static void main(String[] args) { int i = 0; outer: while(true){ System.out.println("Outer while loop"); while(true) { i++; System.out.println("i = " + i); if(i == 1) { System.out.println("continue"); continue; } if(i == 3) { System.out.println("continue outer "); continue outer; } if(i == 5 ) { System.out.println("break"); break; } if(i==7) { System.out.println("break outer"); break outer; } } } } }
输出:
Outer while loop
i = 1
continue
i = 2
i = 3
continue outer
Outer while loop
i = 4
i = 5
break
Outer while loop
i = 6
i = 7
break outer