break適用范圍:只能用於switch或者是循環語句中。當然可以用於增強for循環。
break作用:
1. break用於switch語句的作用是結束一個switch語句。
2. break用於循環語句中的作用是結束當前所在的循環語句。
break和continue區別:
break是結束循環,進行循環的下一條語句
continue是結束本次循環,進行下一次循環。
平時我們用break也就是簡單的結束當前循環,今天在做筆試題中遇到一個結束外層循環的用法,所以自己親自測試了一下。結合標記用法可以實現,標記同樣適用於continue。
用法一:普通的結束當前最內層循環用法
@Test public void test3() { int i=3,j; while(i>0){ j=3; while(j>0){ if(j<2) break; System.out.println(j+"and"+i); j--; } i--; } }
結果:
3and3
2and3
3and2
2and2
3and1
2and1
用法二:加上標記結束最內層循環:(與用法一等價)
@Test public void test2() { int i=3,j; while(i>0){ j=3; inner:while(j>0){ if(j<2) break inner; System.out.println(j+"and"+i); j--; } i--; } }
結果:
3and3
2and3
3and2
2and2
3and1
2and1
用法三:加上標記結束最外層循環(重要)
@Test public void test() { int i=3,j; outer:while(i>0){ j=3; inner:while(j>0){ if(j<2) break outer; System.out.println(j+"and"+i); j--; } i--; } }
結果:
3and3
2and3
例四:continue結合標記用法
/** * 測試continue循環 */ @Test public void test1(){ first:for(int i=0;i<4;i++){ if(i==2){ continue first; } second:for(int j=0;j<4;j++){ if(j==2){ continue first; } System.out.println("i="+i+","+"j="+j+"\t"); } } }
結果:
i=0,j=0
i=0,j=1
i=1,j=0
i=1,j=1
i=3,j=0
i=3,j=1