---------------------- 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("如果斷言正常,我就被列印");
}
}
運作結果:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiN0ADMyYTNxETOxUDM0EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
例子二:
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中,斷言功能預設是關閉,如果我們需要使用這個功能,需要手動打開它。
打開步驟:
在VM arguments輸入-ea就是開啟(enableassertion)輸入-da就是關閉(disenableassertion)
NOTE:斷言功能是用于軟體的開發和測試的,也就是說,删去斷言的那部分語句後,你程式的結構和運作不應該有任何改變,千萬不要把斷言當成程式中的一個功能來使用
---------------------- ASP.Net+Unity開發、.Net教育訓練、期待與您交流! ----------------------詳細請檢視:http://edu.csdn.net