break、continue、return的區別

java提供了continue和break來控制循環結構,除此之外,return可以結束整個方法,當然也就結束了一次循環。

break:

某些時候需要在某種條件下出現時強行終止循環,而不是等到循環條件爲false時才退出循環。此時就可以用break完成此功能。break用於完全結束一個循環,跳出循環體,不管哪種循環,一旦在循環體中遇到break,系統就完全結束該循環。

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;
				}
			}
		}
	}
}

輸出結果爲:

break後的標籤必須是一個有效的標籤,即這個標籤必須在break語句所在的循環定義之前定義,或者在其所在循環的外層循環之前定義。

continue:

continue的功能和break有些類似,但continue只是忽略本次循環剩下的語句,接着開始下一次的循環,並不會終止循環;而break則是完全終止循環本身。

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;
				}
			}
		}
	}
}

輸出結果爲:

continue後也可以緊跟一個標籤,用於直接跳過標籤所標識循環的當次循環的剩下語句,重新開始下次循環。這個標籤通常應該放在continue所在循環的外層循環之前定義。

return:

return並不是專門用於結束循環的,它的功能是結束一個方法,當一個方法執行到一個return語句時,那麼這個方法將被結束。

public class ReturnTest {
	public static void main(String[] args) {
		//一個簡單的for循環
		for(int i = 0; i < 3; i++){
			System.out.println("i的值是:" + i);
			if(i == 1){
				return;
			}
			System.out.println("return後的輸出語句");
		}
	}
}

輸出結果爲:

return直接結束整個方法,不管這個ruturn處於多少層循環之內。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章