今天在看別人代碼的時候看到一個之前沒注意到的break 用法:break label。
我們都知道break的用法,是用來跳出所在的循環,處理代碼如下:
public class BreakTest {
public static void main(String[] args) {
while (true) {
for (int i = 0; i <= 10; i++) {
System.out.println("i=" + i);
if (i == 5) {
break;
}
}
System.out.println("++++++++++++++++++++++");
}
}
}
這個代碼會循環輸出:
i=0
i=1
i=2
i=3
i=4
i=5
++++++++++++++++++++++
break label 則是可以跳出通過label的標籤定義的代碼塊,代碼如下:
public class BreakTest {
public static void main(String[] args) {
label1:
while (true) {
for (int i = 0; i <= 10; i++) {
System.out.println("i=" + i);
if (i == 5) {
break label1;
}
}
System.out.println("++++++++++++++++++++++");
}
}
}
這個只會輸出:
i=0
i=1
i=2
i=3
i=4
i=5
它在滿足break條件時跳出了label1標記的一個代碼塊。
注意:
1. break label只能跳出包含該break語句的代碼塊,這個編譯器也會告訴你
2. label後帶一個自定義的標籤,標籤後帶一個“:”