首頁  >  文章  >  Java  >  短路與&&(或 ||)和非短路與&(或 |)的區別

短路與&&(或 ||)和非短路與&(或 |)的區別

巴扎黑
巴扎黑原創
2017-06-23 15:26:142740瀏覽

短路與是JAVA語言中的一個邏輯運算符,記作&&

A&&B, 當A為false時,不去計算B的值而直接回傳false;當A為true時,計算B的值。

範例:
 public static void main(String[] args){
  int a=10, b=20;
  System.out.println("原始a="+a );
  System.out.println("原始b="+b);
  boolean bool;
  if(a++==11 && b++==21) {
   System.out.println ("true");
   System.out.println("a="+a);
   System.out.println("b="+b);
  } else {
   System .out.println("false");
   System.out.println("a="+a);
   System.out.println("b="+b);
  }
 }

輸出結果:

原始a=10
原始b=20
false
a=11
b=20(注意這裡,b的值並沒有改變)

 

非短路與是JAVA語言中的一個邏輯運算符,記作&

A&&B, 當A為false時,繼續計算B的值而不直接回傳false(與短路與比較?)

範例:

 public static void main(String[] args){
  int a=10, b= 20;
  System.out.println("原始a="+a);
  System.out.println("原始b="+b);
  boolean bool;
  if(a++ ==11 & b++==21) {
   System.out.println("true");
   System.out.println("a="+a);
   System.out.println( "b="+b);
  } else {
   System.out.println("false");
   System.out.println("a="+a);
   System. out.println("b="+b);
  }
 }

#輸出結果:

原始a=10
原始b=20
false
a=11
b=21(注意這裡,b的值已經改變了)

短路或和非短路或的差別,可以自己去驗證! ! !

以上是短路與&&(或 ||)和非短路與&(或 |)的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn