<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 糖心vlog精品一区二区三区| 国产乱码精品一品二品| 精品午夜福利在线观看| 精品一区二区三区电影| 91精品国产免费久久久久久青草| 久热精品视频第一页| 精品韩国亚洲av无码不卡区| 久久99精品久久久久婷婷| 91麻豆精品视频| 婷婷久久精品国产| 久久精品青草社区| 精品乱码久久久久久久| 久久91精品国产91久久小草| 第一福利永久视频精品| 国产精品99久久久久久| 精品国产乱码久久久久久人妻| 国产精品无码无在线观看| 国产精品99在线播放| 日韩精品视频在线播放| 97精品一区二区视频在线观看| 亚洲国产精品免费视频| 国产午夜精品久久久久免费视| 伊人久久无码精品中文字幕| 在线精品一区二区三区电影| 久久6这里只有精品| 午夜精品久视频在线观看| 国语自产偷拍精品视频偷拍| caoporn国产精品免费| 国产精品中文字幕在线| 国产微拍精品一区二区| 999在线视频精品免费播放观看| 99国产精品99久久久久久| 久久精品国产99久久99久久久| 日日噜噜噜噜夜夜爽亚洲精品| 亚洲日韩精品无码专区网站| 国产真实伦偷精品| 精品国产AV色欲果冻传媒| 国内精品久久久久久久久齐齐| 青青青在线观看国产精品| 精品综合久久久久久97| 揄拍自拍日韩精品|