什麼時候用assert

來源:互聯網
上載者:User
java面試筆試題:什麼時候用assert。

    assertion(斷言)在軟體開發中是一種常用的調試方式,很多開發語言中都支援這種機制.在實現中,assertion就是在程式中的一條語句,它對一個boolean運算式進行檢查,一個正確程式必須保證這個boolean運算式的值為true;如果該值為false,說明程式已經處於不正確的狀態下,系統將給出警告或退出.一般來說,assertion用於保證程式最基本、關鍵的正確性.assertion檢查通常在開發與測試時開啟.為了提高效能,在軟體發布後,assertion檢查通常是關閉的.

 

    Java assert詳解:

    Assert是從JDK1.4才開始引入的,但我使用的是JDK1.6,沒試過以前的版本.

    assertion 斷言一般是在偵錯工具時使用,特別是使用Junit做單元調試時,更是大量使用assert.

    assert有兩種文法:

    1.assert expre1

    exp1必須是返回boolean.

    例:   public class AsertTest{

    public static void main(String args[]){

    System.out.println("Assert begin!");

    assert false;

    System.out.println("Assert end!");

    }

    運行後得到:

    assert為false時,會執出異常,System.out.println("Assert end!");沒有執行.當把assert改為true時,程式順利執行.

    2.第二種文法:

    assert exp1:exp2

    當exp1為true的時候後面exp2被忽略,如果false的話,後面的運算式的結果會被計算出來並作為AssertionError得構造器參數

    例:

    public class AssertTest {

    public static void main(String[] args) {

    System.out.println("Assert begin!");

    int i=0;

    assert i == 0:"123456";

    System.out.println("Assert end!");

    }

    }

    運行後i == 0為true,而"123456"被忽略了.

    還有就是,運行含有assert語句的java程式.由JDK預設狀態是關閉的,所以必須用以下的語句編譯執行.

    編譯:javac -source 1.6 *.java.其中,1.6指java的版本.

    執行:java  -ea java類

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.