&&與|| 是屬於條件運算子 Conditional Operators

&, ^, | 是屬於位元運算子 Bit Operators

當用在boolean運算時

&& 是 由左往右, 當遇到false時就直接成立, 不繼續往後判斷

|| 是 由左往右, 當遇到true時就直接成立, 不繼續往後判斷

& 則必須計算左右兩邊的boolean值, 然後返回計算結果

x y 結果
true true true
true false false
false true false
false false false

| 則必須計算左右兩邊的boolean值, 然後返回計算結果

x y 結果
true true true
true false true
false true true
false false false

 

^ 則必須計算左右兩邊的boolean值, 然後返回計算結果

x y 結果
true true false
true false true
false true true
false false false

 

1. 官網https://docs.oracle.com/javase/tutorial/java/nutsandbolts/opsummary.html

01.png

 

2. 舉個程式的例子 5/0 是唯法的, 但由於是用&&的關係

所以判斷式左邊為false就不會繼續往下執行了

  int a = 0;
  int b = 5;
  if((a > 0) && (b/a == 0)){
   System.out.println("true");
  }else{
   System.out.println("false");
  }

02.png

 

3. 而如果改成&則必須計算完返回結果

所以會出現錯誤

  int a = 0;
  int b = 5;
  if((a > 0) & (b/a == 0)){
   System.out.println("true");
  }else{
   System.out.println("false");
  }

03.png  

arrow
arrow

    RX1226 發表在 痞客邦 留言(0) 人氣()