1.布爾邏輯

在 Java 中,您不能編寫表達式18 < age <65. 這是不正確的語法,程序不會編譯。

但是你可以這樣寫:

(18 < age) AND (age < 65)

當然,不是單詞AND,而是邏輯運算符。我們現在將更詳細地討論它們。

Java 中存在三種邏輯運算符:AND(&&)、OR(||) 和NOT(!)。

消息是您可以使用括號來構造任何復雜的邏輯表達式。

消息是 Java 開發人員決定使用C 語言的表示法而不是and,ornot

看畫面:

邏輯運算符 期待 現實
AND (∧) and &&
OR (∨) or ||
NOT (¬) not !

以下是在 Java 中使用邏輯運算符的一些示例:

表達 解釋 解釋
(0 < a) && (a < 100)
(0 < a) and (a < 100)
(0 < a) AND (a < 100)
(!a) && (!b)
(not a) and (not b)
(NOT a) AND (NOT b)
!(!a || !b)
not((not a) or (not b))
NOT((NOT a) OR (NOT b))


2.使用比較運算符和布爾變量的例子

哪裡可以寫邏輯表達式,哪裡就可以寫邏輯變量。

例子:

代碼 解釋
int age = 35;
if (age >= 18 && age <= 65)
   System.out.println("You can work");
如果 age 的值介於18和之間65,則顯示短語“You can work”。
int age = 35;
boolean isYoung = (age < 18);
if (!isYoung && age <= 65)
   System.out.println("You can work");
我們創建了一個isYoung變量並將表達式的第一部分移入其中。我們只是age >= 18age < 18.
int age = 35;
boolean isYoung = (age < 18);
boolean isOld = (age > 65);
if (!isYoung && !isOld)
   System.out.println("You can work");
我們創建了一個 isOld 變量並將表達式的第二部分移入其中。此外,我們替換age <= 65age > 65.

這三個例子是等價的。只有在第二個例子中,我們才將表達式的一部分從if語句中移到一個單獨的布爾變量 ( isYoung) 中。在第三個示例中,我們將表達式的第二部分移動到第二個變量 ( isOld) 中。



3.邏輯運算

讓我們簡要介紹一下邏輯操作。

運算AND符是&&,也稱為連詞

表達 結果
true && true
true
true && false
false
false && true
false
false && false
false

換句話說,true只有當組成表達式的兩個值都是 時,表達式的結果才是true。否則,它總是false

運算符OR||,也稱為析取

表達 結果
true || true
true
true || false
true
false || true
true
false || false
false

換句話說,true如果表達式中至少有一項是 ,則表達式的結果總是true。如果兩者都是false,那麼結果是false

運算NOT符是!,也稱為邏輯逆

表達 結果
!true
false
!false
true

操作員更改truefalse,反之亦然。

有用的表達:

表達 結果
m && !m
false
m || !m
true
!(a && b)
!a || !b
!(a || b)
!a && !b