天天看點

黑馬程式員學習筆記——java中的斷言

---------------------- ASP.Net+Unity開發、.Net教育訓練、期待與您交流! ----------------------

斷言:也就是所謂的assertion,是jdk1.4後加入的新功能。

它主要使用在代碼開發和測試時期,用于對某些關鍵資料的判斷,如果這個關鍵資料不是你程式所預期的資料,程式就提出警告或退出。

當軟體正式釋出後,可以取消斷言部分的代碼。java中使用assert作為斷言的一個關鍵字,這就可以看出java對斷言還是很重視的,因為如果不是很重要的話,直接開發個類就可以了,沒必要新定義一個關鍵字。

文法1:assert expression;                //expression代表一個布爾類型的表達式,如果為真,就繼續正常運作,如果為假,程式退出

文法2:assert expression1 : expression2;                   //expression1是一個布爾表達式,expression2是一個基本類型或者Object類型,如果expression1為真,則程式忽略expression2繼續運作;如果expression1為假,則運作expression2,然後退出程式。

應用舉例1:

public class AssertionDemo {
	//這個成員變量的值可以變,但最終必須還是回到原值5
	static int i = 5;
	public static void main(String[] args) {
		assert i==6;
		System.out.println("如果斷言正常,我就被列印");
	}
}
           

運作結果:

黑馬程式員學習筆記——java中的斷言

例子二:

public class AssertionDemo {
	public static void main(String[] args) {
		int i = 3;
		switch (i) {
		case 1:
			System.out.println("正常");
			break;
		case 2:
			System.out.println("正常");
			break;
		case 5:
			System.out.println("正常");
			break;
		default:
			assert false:"i的值無效";		//如果i的值不是你想要的,程式就警告退出
		}
		System.out.println("如果斷言正常,我就被列印");
	}
}
           

注意,Eclipse中,斷言功能預設是關閉,如果我們需要使用這個功能,需要手動打開它。

打開步驟:

黑馬程式員學習筆記——java中的斷言
黑馬程式員學習筆記——java中的斷言

在VM arguments輸入-ea就是開啟(enableassertion)輸入-da就是關閉(disenableassertion)

NOTE:斷言功能是用于軟體的開發和測試的,也就是說,删去斷言的那部分語句後,你程式的結構和運作不應該有任何改變,千萬不要把斷言當成程式中的一個功能來使用

---------------------- ASP.Net+Unity開發、.Net教育訓練、期待與您交流! ----------------------詳細請檢視:http://edu.csdn.net