<strike id="cakm0"></strike>
  • <button id="cakm0"><dl id="cakm0"></dl></button>
  • <samp id="cakm0"><tbody id="cakm0"></tbody></samp>
    <samp id="cakm0"><pre id="cakm0"></pre></samp><ul id="cakm0"></ul>
    <strike id="cakm0"></strike>
    <li id="cakm0"></li>
  • <ul id="cakm0"></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 在线观看精品国产福利片100| 亚洲精品偷拍视频免费观看| 国产精品久久久久久久久99热| 国产精品亚洲不卡一区二区三区| 热re99久久精品国产99热| 亚洲精品成人网站在线播放| 日本精品高清一区二区2021| 精品亚洲AV无码一区二区| 四虎永久在线精品国产馆V视影院| 成人精品视频一区二区三区不卡| 精品国产免费人成电影在线观看| 久久国产精品-久久精品| 国产精品麻豆成人AV电影艾秋| 国产三级国产精品国产普男人| 亚洲91精品麻豆国产系列在线| 国产精品多p对白交换绿帽| 亚洲国产精品无码久久九九大片| 亚洲国产精品不卡毛片a在线| 久久精品成人一区二区三区| 亚洲精品狼友在线播放| 国产馆精品推荐在线观看| 亚洲国产精品一区二区久久hs| 国产色婷婷精品综合在线| 国产在热线精品视频| 精品欧洲av无码一区二区14| 久久66热这里只会有精品| 牛牛在线精品观看免费正| 精品国精品无码自拍自在线| 日韩精品乱码AV一区二区| 国产色婷婷精品综合在线| 亚洲AV无码乱码精品国产 | 99精品久久99久久久久| 人妖系列精品视频在线观看| 国产精品久久久久国产精品三级 | 久久99久久精品视频| 国产精品福利自产拍在线观看| 国内精品伊人久久久久av一坑| 国精无码欧精品亚洲一区| 亚洲精品无码专区久久久| 日本人精品video黑人| 日韩精品在线一区二区|