<sup id="m40ya"></sup>
  • 
    
  • <kbd id="m40ya"></kbd>
    <samp id="m40ya"></samp>
    <ul id="m40ya"></ul>
  • 更多精彩內容,歡迎關注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    assert java

    文檔

    assert java

    assert表示為一些布爾表達式,程序員相信在程序中的某個特定點該表達式值為真,可以在任何時候啟用和禁用斷言驗證,因此可以在測試時啟用斷言,而在部署時禁用斷言。
    推薦度:
    導讀assert表示為一些布爾表達式,程序員相信在程序中的某個特定點該表達式值為真,可以在任何時候啟用和禁用斷言驗證,因此可以在測試時啟用斷言,而在部署時禁用斷言。

    assert java是什么,讓我們一起了解一下?

    assert java是一些布爾表達式,程序員相信在程序中的某個特定點該表達式值為真,可以在任何時候啟用和禁用斷言驗證,因此可以在測試時啟用斷言,而在部署時禁用斷言。

    那么,assert(斷言)有哪些特性?

    前置條件斷言:代碼執行之前必須具備的特性

    后置條件斷言:代碼執行之后必須具備的特性

    前后不變斷言:代碼執行前后不能變化的特性

    通過assert(斷言)的特性,可以劃分以下兩種形式

    1.assert Expression1

    2.assert Expression1:Expression2

    其中Expression1應該總是一個布爾值,Expression2是斷言失敗時輸出的失敗消息的字符串。如果Expression1為假,則拋出一個 AssertionError,這是一個錯誤,而不是一個異常,也就是說是一個不可控制異常(unchecked Exception),AssertionError由于是錯誤,所以可以不捕獲,但不推薦這樣做,因為那樣會使你的系統進入不穩定狀態。

    另外,assert(斷言)在默認情況下是關閉的,要在編譯時啟用斷言,需要使用source1.4標記 即javac source1.4 Test.java ,在運行時啟用斷言需要使用 -ea參數 。要在系統類中啟用和禁用斷言可以使用 -ea和 -dsa參數。

    例如:

    public?class?AssertExampleOne{
    ????public?AssertExampleOne(){}
    ????public?static?void?main(String?args[]){
    ????????int?x=10;
    ????????System.out.println("Testing?Assertion?that?x==100");
    ????????assert?x==100:"Out?assertion?failed!";
    ????????System.out.println("Test?passed!");
    ????}
    }

    如果編譯時未加 -source1.4,則編譯通不過

    在執行時未加 -ea 時輸出為

    Testing Assertion that x==100

    Test passed!

    jre忽略了斷言的舊代碼,而使用了該參數就會輸出為

    Testing Assertion that x==100

    Exception in thread "main" java.lang.AssertionError: Out assertion failed!

    at AssertExampleOne.main(AssertExampleOne.java:6)

    值得注意的是,由于程序員的問題,斷言的使用也可能會帶來副作用。

    例如:

    boolean?isEnable=false;
    assert?isEnable=true;
    這個斷言的副作用是因為它修改了程序中變量的值并且未拋出錯誤,這樣的錯誤如果不細心的檢查是很難發現的。但是同時我們可以根據以上的副作用得到一個有用的特性,根據它來測試斷言是否打開。
    public?class?AssertExampleTwo{
    ????public?static?void?main(String?args[]){
    ????????boolean?isEnable=false;
    ????????assert?isEnable=true;
    ????????if(isEnable==false){
    ????????????throw?newRuntimeException("Assertion?should?be?enable!");
    ????????}
    ????}
    }

    以上就是小編今天的分享了,希望可以幫助到大家。

    文檔

    assert java

    assert表示為一些布爾表達式,程序員相信在程序中的某個特定點該表達式值為真,可以在任何時候啟用和禁用斷言驗證,因此可以在測試時啟用斷言,而在部署時禁用斷言。
    推薦度:
    為你推薦
    資訊專欄
    熱門視頻
    相關推薦
    asterisk java axis java bitset java boolean java brew java c#調用java c#調用java接口 cache java calendar java qq實名認證怎么解除 callable java character java class轉java cmake java compareto java 被刪的微信聊天記錄怎么找回來 continue java django java 微信怎么群發消息給多人 double java 怎樣改抖音名字的昵稱 aspect java ansible java ajax java antlr java 交管12123怎么查科目一分數 abstract java 拼多多拒收在哪里操作 微信恢復刪除的聊天記錄 微信掃碼不能掃了怎么辦 怎樣查看微信刪除的聊天記錄 兩個二維碼怎么拼一起 電腦忘記開機密碼怎么辦 js 字符串轉數字 linux ftp python range函數 java 泛型 java json java final java foreach
    Top 99re66热这里只有精品| 久久精品国产清白在天天线| 国产精品一二三区| 亚洲欧洲精品无码AV| 国产真实乱子伦精品视手机观看| 精品亚洲麻豆1区2区3区| 久久久久亚洲精品无码网址| 国产免费无遮挡精品视频| 麻豆AV无码精品一区二区 | 久久久精品人妻一区亚美研究所| 下载天堂国产AV成人无码精品网站| 热久久视久久精品18| 91精品久久久久久无码| 久久久久久国产精品免费免费男同 | 97久久精品国产成人影院| 久久九九亚洲精品| 精品乱码久久久久久夜夜嗨| 四虎8848精品永久在线观看| 青青青国产精品手机在线观看| 国产精品久久久久久久久| 日韩国产成人精品视频| 国产成人精品一区二区秒拍| 国语自产偷拍精品视频偷蜜芽| 亚洲精品国自产拍在线观看| 国产精品亚洲一区二区三区久久| 国产精品无码AV不卡| 曰产无码久久久久久精品| 无码国内精品久久综合88| 91久久精品国产91性色也| 91麻豆精品国产自产在线| 99热这里只有精品国产动漫| 亚洲国产精品无码专区在线观看| 一夲道无码人妻精品一区二区| 久久精品国产亚洲7777| 中文精品字幕电影在线播放视频 | 国产日韩精品视频一区二区三区| 日韩精品真人荷官无码| 人妻少妇精品视中文字幕国语| 久久国产精品99久久小说| 日韩精品专区AV无码| 久久久久人妻一区精品性色av|