CodeGym /Kurse /JAVA 25 SELF /Der logische Typ boolean und logische Operationen

Der logische Typ boolean und logische Operationen

JAVA 25 SELF
Level 3 , Lektion 3
Verfügbar

1. Logischer Datentyp: boolean

Wie wir bereits gesehen haben, gibt es in Java einen sehr nützlichen Operator – if-else. Er führt einen Block von Anweisungen aus, wenn die Bedingung in den Klammern wahr ist, und einen zweiten Block, wenn die Bedingung falsch ist.

Um bequem mit Ausdrücken zu arbeiten, die wahr oder falsch sein können, hat Java einen speziellen Typ – boolean. Sein wichtigstes Merkmal besteht darin, dass Variablen dieses Typs nur zwei Werte annehmen können: true (wahr) und false (falsch).

Andere Werte können Variablen des Typs boolean nicht zugewiesen werden. Der Compiler lässt das nicht zu.

Beispiele für Variablen des Typs boolean:

boolean isAdult = true;
boolean hasMoney = false;
Beispiel für die Deklaration von Variablen des Typs boolean

Eine Variable vom Typ boolean hat genau zwei Werte – true und false. Das war’s! Fast wie bei einem Test – entweder „bestanden“ oder „durchgefallen“.

2. Vergleichsoperatoren

Wozu ist so ein primitiver Typ gut? Die wahre Stärke von boolean zeigt sich, wenn wir logische Ausdrücke aufbauen. Üblicherweise entstehen sie mit Hilfe von Vergleichsoperatoren.

Operator Bedeutung Beispiel Wert
== Gleich
a == b
true oder false
!= Ungleich
a != b
true oder false
> Größer
a > b
true oder false
< Kleiner
a < b
true oder false
>= Größer oder gleich
a >= b
true oder false
<= Kleiner oder gleich
a <= b
true oder false

Beispiel:

int age = 20;
boolean isAdult = age >= 18;   // true (20 ist größer oder gleich 18)
boolean isTeenager = age >= 13 && age < 18; // false (20 ist nicht kleiner als 18)
boolean isEven = age % 2 == 0; // true (20 ist ohne Rest durch 2 teilbar)

isAdult wird hier true, denn 20 ist tatsächlich ein „erwachsenes“ Alter.

Wichtiger Punkt 1:

Operatoren, die aus zwei Zeichen bestehen, dürfen nicht getrennt werden.


a < = 10
speed > = max
age = = 18
time ! = 0
So darf man nicht schreiben! Operatoren müssen ohne Leerzeichen geschrieben werden: <=, >=, ==, !=

Wichtiger Punkt 2:

Beachte, dass es die Operatoren => und =< nicht gibt: Es gibt nur <= und >=. Wenn du a =< 3 schreibst, lässt sich dein Code einfach nicht kompilieren.

Wichtiger Punkt 3:

ANDn Java kannst du keinen Ausdruck der Form 18 < age < 65 schreiben. Denn der Ausdruck 18 < age ergibt den Wert true oder false. Und true mit einer Zahl (65) zu vergleichen geht nicht – unterschiedliche Typen.

3. Logische Operationen

ANDn Java kann man den Ausdruck 18 < age < 65 nicht schreiben – er ist syntaktisch ungültig und das Programm lässt sich nicht kompilieren.

Man kann es aber so schreiben:


(18 < age) AND (age < 65)
Logischer Ausdruck mit zwei Bedingungen (auf Russisch)

Natürlich verwendet man statt des Wortes UND logische Operatoren. ANDn Java gibt es drei logische Operatoren: AND (und), OR (oder) und NOT (nicht).

Gute Nachricht: Mit Klammern kann man logische Ausdrücke beliebiger Komplexität bauen.
Schlechte Nachricht: ANDn Java werden statt der Wörter and, or und not die aus der C-Welt stammenden Symbole verwendet: &&, ||, !.

Logischer Operator Erwartung Realität
UND (∧) and &&
ODER (∨) or ||
NANDCHT (¬) not !

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

Ausdruck ANDn Worten Erläuterung
(0 < a) && (a < 100)
(0 < a) and (a < 100) (0 < a) UND (a < 100)
(!a) && (!b)
(not a) and (not b) (NANDCHT a) UND (NANDCHT b)
!(!a || !b)
not((not a) or (not b)) NANDCHT((NANDCHT a) ODER (NANDCHT b))

4. Wahrheitstabellen

Kurz zu den logischen Operationen.

Operator AND

Der Operator AND, auch UND, auch &&, auch Konjunktion, auch logische Multiplikation.

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

Operator OR

Der Operator OR, auch ODER, auch ||, auch Disjunktion, auch logische Addition.

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

Operator NOT

Der Operator NOT, auch NANDCHT, auch !, auch ANDnversion.

Ausdruck Ergebnis
! true false
! false true

Nützliche Ausdrücke:

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

5. Beispiele für logische Operationen: and, or, not

Operation „UND“, AND, wird mit && bezeichnet

Das Ergebnis ist nur dann wahr, wenn beide Operanden wahr sind.

int age = 16;
boolean hasTicket = true;
boolean canAttend = age >= 14 && hasTicket; // true (16 ist größer als 14 UND ein Ticket vorhanden ist)

Wenn du mindestens 14 bist UND ein Ticket hast – bitte eintreten!

Operation „ODER“, OR, wird mit (||) bezeichnet

Das Ergebnis ist wahr, wenn mindestens eine Bedingung wahr ist.

boolean isAdmin = false;
boolean isModerator = true;
boolean canEdit = isAdmin || isModerator; // true (bearbeiten erlaubt, wenn mindestens eine Bedingung true ist)

Wenn du Admin ODER Moderator bist – bitte, drück die Buttons!

Operation „NANDCHT“, NOT, wird mit (!) bezeichnet

Der ANDnverter macht aus wahr falsch und umgekehrt.

boolean isWeekend = false;
boolean shouldGoToWork = !isWeekend; // true (wenn kein Wochenende ist, arbeiten wir)

Wenn NANDCHT Wochenende ist – Zeit aufzustehen!

Kombinieren: Baue Bedingungen beliebiger Komplexität

Du kannst so viele logische Operationen kombinieren, wie du willst (am besten nicht übertreiben). Klammern kann (und sollte man!) zur Klarheit verwenden.

Beispiel:

int age = 17;
boolean hasTicket = false;
boolean isVip = true;

boolean canGo = (age >= 18 && hasTicket) || isVip; // true, weil isVip = true ist

Logik: Wenn die Person volljährig ist und ein Ticket hat, oder wenn sie VANDP ist – lassen wir sie hinein. Wenn nicht VANDP – nur wenn sie erwachsen ist und ein Ticket hat.

Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION