<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 久久一区二区精品综合| 久久丫精品国产亚洲av| 国产精品亚洲片在线| 精品国产福利一区二区| 伊人久久精品影院| 99爱在线精品视频网站| 久久久WWW成人免费精品| 麻豆AV无码精品一区二区 | 揄拍自拍日韩精品| 国产成人精品午夜视频'| 日韩精品真人荷官无码| 国产偷窥熟女精品视频| 99无码精品二区在线视频| 91精品国产综合久久久久久| 少妇人妻偷人精品无码AV| 国产亚洲精品va在线| 欧洲精品在线观看| 久久精品人人做人人爽电影蜜月| 国产高清在线精品一区二区| 精品国产一区二区三区香蕉| 在线精品国产一区二区| 日韩欧精品无码视频无删节| 久久精品国产亚洲| 国产精品.XX视频.XXTV| 精品天海翼一区二区| 99精品国产第一福利网站| 亚洲乱码国产乱码精品精| 精品国产丝袜自在线拍国| 91嫩草亚洲精品| 亚洲精品国产精品乱码视色| 久久久精品波多野结衣| 精品久久综合1区2区3区激情| 精品人妻无码一区二区三区蜜桃一| 无码精品人妻一区二区三区中| 国产精品一级毛片无码视频| 精品久久久久久中文字幕一区| 国产精品白丝喷水在线观看者相 | 国产精品一区三区| 国产精品99久久久久久猫咪 | 国产精品无码AV天天爽播放器| 亚洲国产成人久久精品大牛影视|