在循環里面嵌套了循環后,如果單純的使用break跳出內循環,那么還會繼續執行這個內循環后面的程序。而要在內循環里面通過條件判斷直接跳出所有循環就需要多個判斷條件。這個時候如果使用循環標志就可以直接跳出到指定的位置。循環標志的使用可以讓break和continue更加靈活。
下面這段代碼可以很明顯的看出有沒有標志位的區別
package _3_5_test; import java.util.Scanner; public class FiftyTest { public static void main(String[] args) { // TODO Auto-generated method stub boolean flag1 = true; out: while (flag1) { System.out.println("(有標志位)for循環前面+++++++++"); for (int i = 0; i < 10; i++) { if (i == 4) { flag1 = false; break out; } } System.out.println("(有標志位)for循環后面--------"); } System.out.println(""); boolean flag2 = true; while (flag2) { System.out.println("(沒有標志位)for循環前面+++++++++"); for (int i = 0; i < 10; i++) { if (i == 4) { flag2 = false; break; } } System.out.println("(沒有標志位)for循環后面--------"); } } }
實現效果:
可以看出,如果使用了循環標志跳出循環,可以直接跳出所有的循環;而如果沒有使用循環標志,就只能跳出當前的內循環,內循環后面的程序還是會繼續執行。
標志位的使用很容易,在需要程序跳轉的地方聲明一個對象,比如:
out:
在使用break或者continue的時候在后面加上這個標志位就行了:break out;