java中的斷言


 

 斷言:也就是所謂的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("如果斷言正常,我就被打印");  
    }  
}  
注意,Eclipse中,斷言功能默認是關閉,如果我們需要使用這個功能,需要手動打開它。

打開步驟:


 

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

 

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM