在java里面,我們知道有goto這個關鍵字,但是實際卻沒有啥作用,這就讓我們不像在c/c++里面能夠隨便讓程序跳到那去執行,而break只能跳出當前的一個循環語句,如果要跳出多個循環體那么該怎么辦呢。
我們可以這樣解決:
我們可以在循環體開頭設置一個標志位,也就是設置一個標記,然后使用帶此標號的break語句跳出多重循環。
- public class BreaklFor {
- public static void main(String args[]){
- OK: //設置一個標記 使用帶此標記的break語句跳出多重循環體
- for(int i=1;i<100;i++){ //讓i循環99次
- for(int j=1;j<=i;j++){
- if(i==10){
- break OK ;
- }
- System.out.print(i + "*" + j + "=" + i*j) ;
- System.out.print(" ") ;
- }
- System.out.println() ;
- }
- }
- }
運行結果當然是打印九九乘法表。當i=10時跳出了循環。
當然還有另外一種方法,這也是設置一個boolean值的標記位,在for循環中使用判斷是否繼續循環來達到目的。
- public class BreaklFor {
- public static void main(String args[]) {
- int array[][] = { { 5, 7, 6, 4, 9 }, { 1, 2, 8, 3, 2 } };
- boolean flag = false;
- for (int i = 0; i < array.length && !flag; i++) { //當flag為true時跳出循環
- for (int j = 0; j < array[i].length; j++) {
- if (array[i][j] == 8) {
- flag = true;
- break;
- }
- }
- }
- System.out.println(flag);
- }
- }
通過設置標志位,實現里成的代碼控制外層的的循環條件。
當然還可以通過return來跳出多重循環。