短路邏輯運算符


 短路邏輯運算符有兩種

一、&&:短路與

  與邏輯運算符&與判定相同,即有假即假,唯一區別是:在短路與&&所連接的關系表達式中,如果左邊為假,則右邊不進行運算,直接輸出結果。

 例:

 int i = 10;

 int j = 20;

 System.out.println((i++>100) (j++>100));//false & false

 System.out.println("i:" + i);

 System.out.println("j:" + j);

 在邏輯與所連接的關系表達式中,最終會輸出false,i:11,j:21;

 即左邊判斷i小於100以后為假,再執行i++操作得到i為11,右邊同理。

 可以看到,在&邏輯與運算符下,左右兩邊的條件無論真假,都被執行了。

 例:

 int i = 10;

 int j = 20;

 System.out.println((i++>100) && (j++>100));//false && false

 System.out.println("i:" + i);

 System.out.println("j:" + j);

 在短路邏輯與所連接的關系表達式中,最終會輸出false,i:11,j:20;

 即左邊判斷i小於100以后為假,再執行i++操作得到i為11,此時由於是短路邏輯與運算符所連接的,因此左邊為假,則右邊不執行,所以j沒有執行j++的操作,導致最后輸出的j的結果是20.

二、||:短路或

  與邏輯運算符|或判定相同,即有假即假,唯一區別是:在短路或||所連接的關系表達式中,如果左邊為真,則右邊不進行運算,直接輸出結果。

  短路或同上短路與,可以看一下結論和上面的例子。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM