一、使用break語句
在Java中,break語句通常用於跳出循環,包括for、while、do-while等類型的循環。當條件滿足時,程序會立即跳出循環,並執行緊跟其後的語句。
for (int i = 0; i < 10; i++) { if (i == 2) { break; } System.out.println(i); }
上述代碼的輸出結果為:
0 1
可以看出,在i等於2時,程序跳出循環,並且不再執行後面的語句。
二、使用continue語句
除了break語句,Java還提供了continue語句,用於跳過當前循環中的某些語句,然後繼續執行下一次循環。
for (int i = 0; i < 10; i++) { if (i == 2) { continue; } System.out.println(i); }
上述代碼的輸出結果為:
0 1 3 4 5 6 7 8 9
可以看出,當i等於2時,continue語句將跳過當前循環體中的語句,直接執行下一次循環體。
三、使用return語句
雖然return語句通常用於結束方法的執行並返回一個值,但是在循環中使用return語句同樣可以跳出循環。當方法執行到return語句時,程序會立即返回並結束當前方法的執行。
public int findIndex(int[] arr, int key) { for (int i = 0; i < arr.length; i++) { if (arr[i] == key) { return i; } } return -1; }
上述代碼使用了return語句,在查找數組中某個值的索引時,如果找到了就返回該索引,否則返回-1。
四、使用標籤(Label)
在Java中,可以給循環添加一個標籤,然後用break語句跳出指定標籤的循環。這種方式可以在多重循環中快速跳出指定的循環。
loop1: for (int i = 0; i < 10; i++) { loop2: for (int j = 0; j < 10; j++) { if (j == 2) { break loop1; } System.out.println(j); } }
上述代碼中,loop1和loop2都是標籤,loop1標記的是外層的for循環,loop2標記的是內層的for循環。當內層循環中j等於2時,程序會跳出標籤為loop1的循環。
五、使用異常
雖然不推薦使用異常來跳出循環,但是Java中的異常機制同樣可以實現跳出循環的功能。可以定義一個特殊的異常,在滿足一定條件時拋出該異常,然後在調用該方法的地方捕獲該異常並結束方法執行。
public void readValues() throws IOException { while (true) { int value = readValue(); if (value == -1) { break; } // do something with value } } private int readValue() throws IOException { int value = // read a value if (value == -1) { throw new EOFException(); } return value; }
上述代碼中,readValues()方法通過調用readValue()方法來讀取值,並在讀到文件結尾時拋出EOFException異常。在調用readValues()方法時,可以捕獲該異常並結束方法的執行。
六、總結
在Java中,跳出循環的方法主要有break、continue、return、標籤和異常這五種方式。選擇哪種方式取決於具體的情況,但是在平時開發中,應該盡量避免使用異常來跳出循環。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/198651.html