1. Boolesche Logik

In Java können Sie den Ausdruck nicht schreiben 18 < age <65. Das ist eine falsche Syntax und das Programm lässt sich nicht kompilieren.

Aber man kann es so schreiben:

(18 < age) AND (age < 65)

ANDAnstelle des Wortes gäbe es natürlich einen logischen Operator . Wir werden jetzt ausführlicher darüber sprechen.

In Java gibt es drei logische Operatoren: AND(&&), OR(||) und NOT(!).

Die gute Nachricht ist, dass Sie Klammern verwenden können, um logische Ausdrücke beliebiger Komplexität zu konstruieren.

Die schlechte Nachricht ist, dass Java-Entwickler beschlossen haben , anstelle der Wörter , und die Notation aus der C-Sprache zu verwenden .andornot

Schau auf den Bildschirm:

Logischer Operator Erwartung Wirklichkeit
AND (∧) and &&
OR (∨) or ||
NOT (¬) not !

Hier sind einige Beispiele für die Verwendung logischer Operatoren in Java:

Ausdruck Deutung Erläuterung
(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. Beispiele für die Verwendung von Vergleichsoperatoren und booleschen Variablen

Wo immer Sie einen logischen Ausdruck schreiben können, können Sie auch eine logische Variable schreiben.

Beispiel:

Code Erläuterung
int age = 35;
if (age >= 18 && age <= 65)
   System.out.println("You can work");
Wenn der Wert für das Alter zwischen 18und liegt 65, wird der Hinweis „Sie können arbeiten“ angezeigt.
int age = 35;
boolean isYoung = (age < 18);
if (!isYoung && age <= 65)
   System.out.println("You can work");
Wir haben eine isYoungVariable erstellt und den ersten Teil des Ausdrucks hinein verschoben. Wir haben einfach age >= 18durch ersetzt age < 18.
int age = 35;
boolean isYoung = (age < 18);
boolean isOld = (age > 65);
if (!isYoung && !isOld)
   System.out.println("You can work");
Wir haben eine isOld-Variable erstellt und den zweiten Teil des Ausdrucks hinein verschoben. Zusätzlich haben wir age <= 65durch ersetzt age > 65.

Diese drei Beispiele sind gleichwertig. Erst im zweiten Beispiel haben wir einen Teil des Ausdrucks aus der ifAnweisung in eine separate boolesche Variable ( isYoung) verschoben. Im dritten Beispiel haben wir den zweiten Teil des Ausdrucks in eine zweite Variable verschoben ( isOld).



3. Logische Arithmetik

Lassen Sie uns kurz die logischen Operationen durchgehen.

Der ANDOperator ist , auch Konjunktion&& genannt .

Ausdruck Ergebnis
true && true
true
true && false
false
false && true
false
false && false
false

Mit anderen Worten: Das Ergebnis eines Ausdrucks ist truenur, wenn beide Werte, aus denen der Ausdruck besteht, true. Ansonsten ist es immer false.

Der OROperator ist , auch Disjunktion|| genannt .

Ausdruck Ergebnis
true || true
true
true || false
true
false || true
true
false || false
false

Mit anderen Worten: Das Ergebnis eines Ausdrucks ist immer truedann, wenn mindestens ein Term im Ausdruck ist true. Wenn beides der Fall ist false, ist das Ergebnis false.

Der NOTOperator ist !, auch als logische Umkehrung bekannt .

Ausdruck Ergebnis
!true
false
!false
true

Der Operator wechselt truezu falseund umgekehrt.

Nützliche Ausdrücke:

Ausdruck Ergebnis
m && !m
false
m || !m
true
!(a && b)
!a || !b
!(a || b)
!a && !b