Java 布爾運(yùn)算符

2018-07-31 17:05 更新

Java教程 - Java布爾運(yùn)算符


布爾邏輯運(yùn)算符操作布爾操作數(shù)。

邏輯運(yùn)算符列表

下表列出了所有Java布爾邏輯運(yùn)算符。

運(yùn)算符 結(jié)果
& 邏輯AND
| 邏輯或
^ 邏輯異或(異或)
|| 短路OR
&&短路AND
! 邏輯一元NOT
&=AND分配
|= OR分配
^= XOR分配
== 等于
!= 不等于
? : 三元if-then-else

True table

下表顯示了每個(gè)邏輯操作的效果:

A B A | BA& BA ^ B!A
FalseFalseFalseFalse FalseTrue
True FalseTrue False True False
FalseTrue True False True True
True True True True FalseFalse

以下程序演示了布爾邏輯運(yùn)算符。

 
public class Main {
  public static void main(String args[]) {
    boolean a = true;
    boolean b = false;
    boolean c = a | b;
    boolean d = a & b;
    boolean e = a ^ b;
    boolean f = (!a & b) | (a & !b);
    boolean g = !a;
    System.out.println(" a = " + a);
    System.out.println(" b = " + b);
    System.out.println(" a|b = " + c);
    System.out.println(" a&b = " + d);
    System.out.println(" a^b = " + e);
    System.out.println("!a&b|a&!b = " + f);
    System.out.println(" !a = " + g);

  }
}
]]>

輸出:

例子

以下程序演示了按位邏輯運(yùn)算符:

 
public class Main {
  public static void main(String args[]) {
    int a = 1;
    int b = 2;
    int c = a | b;
    int d = a & b;
    int e = a ^ b;
    int f = (~a & b) | (a & ~b);
    int g = ~a & 0x0f;

    System.out.println(" a = " + a);
    System.out.println(" b = " + b);
    System.out.println(" a|b = " + c);
    System.out.println(" a&b = " + d);
    System.out.println(" a^b = " + e);
    System.out.println("~a&b|a&~b = " + f);
    System.out.println(" ~a = " + g);

  }
}

這里是這個(gè)程序的輸出:

Java邏輯運(yùn)算符快捷方式

當(dāng)一個(gè)操作數(shù)為 true 時(shí), OR 運(yùn)算符為真,無(wú)論第二個(gè)操作數(shù)是什么。當(dāng)一個(gè)操作數(shù)為 false 時(shí), AND 運(yùn)算符將導(dǎo)致false,操作數(shù)是。如果使用 || && ,Java將不會(huì)評(píng)估右側(cè)操作數(shù)結(jié)果可以由左操作數(shù)單獨(dú)確定。

下面的代碼顯示了如何使用短路邏輯運(yùn)算符確保除法運(yùn)算在評(píng)估之前有效:

 
public class Main {
  public static void main(String[] args) {
    int denom = 0;
    int num = 3;
    if (denom != 0 && num / denom > 10) {
      System.out.println("Here");
    } else {
      System.out.println("There");
    }
  }
}

輸出:

如果我們想要改變邏輯運(yùn)算符的快捷行為,我們可以使用& 和|。

例2

以下代碼使用單個(gè)& 確保增量操作將會(huì)應(yīng)用于 e 是否 c 等于1。

 
public class Main {
  public static void main(String[] args) {
    int c = 0;
    int e = 99;
    int d = 0;
    if (c == 1 & e++ < 100)
      d = 100;

    System.out.println("e is " + e);
    System.out.println("d is " + d);
  }
}

輸出:

以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)