<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| 九九免费精品视频在这里| 日本道免费精品一区二区| 免费看国产精品3a黄的视频| 国产成人精品无码片区在线观看 | 久久99国产综合精品女同| 一本大道无码人妻精品专区| 国产成人精品综合网站| 久久国产精品久久国产精品| 国产成品精品午夜视频| 亚洲精品456人成在线| 无码精品人妻一区二区三区漫画 | 91精品在线国产| 精品一区二区久久| 日本精品一区二区三区在线视频一 | 国产精品女人在线观看| 国产精品久久久久无码av| 国产精品久久久久久吹潮| 国产精品被窝福利一区| 精品剧情v国产在线麻豆| 国产精品大bbwbbwbbw| 日韩人妻无码精品一专区| 国产亚洲精品岁国产微拍精品| 北岛玲在线精品视频| 久久久精品久久久久久96| 久久精品国产亚洲AV蜜臀色欲 | 老司机成人精品视频lsj| 国产精品亚洲一区二区三区在线观看| 2021精品国产综合久久| 久久99国产乱子伦精品免费| 亚洲av无码国产精品色午夜字幕 | 无码人妻精品一区二区三区99仓本 | 国内精品99亚洲免费高清| 精品99在线观看| 尤物国产精品福利三区| 亚洲AV无码国产精品永久一区| 91精品国产乱码在线观看| 久久久无码人妻精品无码| 久久这里只有精品66| 国产精品白浆在线观看免费| 国内精品久久久久影院优|