文章目錄
- 一、break:結束循環
- 二、continue:結束本次循環
- 三、return:結束方法
- 四、System.exit(0):正常終止整個程式
大部分摘自:<瘋狂Java講義精粹>
一、break:結束循環
break用于完全結束一個循環,跳出循環體.
一旦在循環體中遇到break,系統将完全結束該循環,開始執行循環之後的代碼.
break語句不僅可以結束其所在的循環,還可以直接結束其外層循環.此時需要在break後緊跟一個标簽,這個标簽用于辨別一個外層循環.
Java中的标簽就是一個緊跟着英文冒号(:)的辨別符.與其他語言不同,Java中的标簽隻有放在循環語句之前才有作用.
例:
public class BreakTest {
public static void main(String[] args) {
// 外層循環,outer作為辨別符
outer:
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 3; j++) {
System.out.println("i的值為:" + i + " j的值為:" + j);
if (j == 1) {
//跳出outer标簽所辨別的循環
break outer;
}
}
}
}
}
/*
運作結果:
i的值為:0 j的值為:0
i的值為:0 j的值為:1
*/
解釋:
當j等于1時,程式遇到一個break outer;語句,這行代碼将會導緻結束outer标簽指定的循環,不是結束break所在的循環,而是結束break循環的外層循環.
通常緊跟break之後的标簽,必須在break所在循環的外層循環之前定義才有意義
二、continue:結束本次循環
continue知識終止本次循環,接着開始下一次循環;而break則是完全終止循環本身.
可以了解為continue的作用是跳過當次循環中剩下的語句,重新開始一次新的循環.
continue後也可以緊跟一個标簽,用于直接跳過标簽所辨別循環的當次循環的剩下語句,重新開始下一次循環.
例:
public class ContinueTest {
public static void main(String[] args) {
//外層循環
outer:
for (int i = 0; i < 5; i++) {
//内層循環
for (int j = 0; j < 3; j++) {
System.out.println("i的值為:" + i + " j的值為:" + j);
if (j == 1) {
//跳出outer标簽所指定的循環
continue outer;
}
}
}
}
}
解釋:
循環變量j的值将無法超過1,因為每當j等于1時,continue outer語句就結束了外層循環的當次循環,直接開始下一次循環,内層循環沒有機會執行完成.
continue後的标簽也必須是一個有效标簽,即這個标簽通常應該放在continue所在标簽的外層循環之外定義.
三、return:結束方法
return關鍵字并不是專門用于結束循環的,return的功能是結束一個方法.當一個方法執行到一個return語句時,這個方法将被結束.
與continue和break不同的是,return直接結束整個方法,不管這個return處于多少層循環之内.
四、System.exit(0):正常終止整個程式
終止目前運作的Java虛拟機。這個參數用作狀态代碼;按照約定,非零狀态代碼表示異常終止。
下面為System類中exit(int status)方法源碼:
public static void exit(int status) {
Runtime.getRuntime().exit(status);
}