W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
布爾邏輯運(yùn)算符操作布爾操作數(shù)。
下表列出了所有Java布爾邏輯運(yùn)算符。
運(yùn)算符 | 結(jié)果 |
---|---|
& | 邏輯AND |
| | 邏輯或 |
^ | 邏輯異或(異或) |
|| | 短路OR |
&& | 短路AND |
! | 邏輯一元NOT |
&= | AND分配 |
|= | OR分配 |
^= | XOR分配 |
== | 等于 |
!= | 不等于 |
? : | 三元if-then-else |
下表顯示了每個(gè)邏輯操作的效果:
A | B | A | B | A& B | A ^ B | !A |
---|---|---|---|---|---|
False | False | False | False | False | True |
True | False | True | False | True | False |
False | True | True | False | True | True |
True | True | True | True | False | False |
以下程序演示了布爾邏輯運(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è)程序的輸出:
當(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)算符的快捷行為,我們可以使用& 和|。
以下代碼使用單個(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); } }
輸出:
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話(huà):173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: