斷言:也就是所謂的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("如果斷言正常,我就被打印"); } }
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("如果斷言正常,我就被打印"); } } 打開步驟:
在VM arguments輸入-ea就是開啟(enableassertion)輸入-da就是關閉(disenableassertion)
NOTE:斷言功能是用於軟件的開發和測試的,也就是說,刪去斷言的那部分語句后,你程序的結構和運行不應該有任何改變,千萬不要把斷言當成程序中的一個功能來使用 |