Logische Operatoren
Wahrheitswerte können genau wie Zahlenwerte auch, mittels Operatoren zu komplexeren Ausdrücken kombiniert werden.
Dafür stehen uns die logischen Operatoren und (&&
), oder (||
) sowie die Negation (!
) zur Verfügung.
Konjunktion: Die und-Verknüpfung
Eine und-Verknüpfung wird immer dann eingesetzt, wenn wir möchten, dass ein Ausdruck nur dann den Wert true
ergibt, wenn beide Teile des Ausdrucks den Wert true
ergeben.
In Java wird dies durch den Operator &&
ausgedrückt.
Der folgende Ausdruck ergibt true
, da beide Ausdrücke die durch &&
verknüpft werden true
ergeben.
5 > 3 && 4 > 3
Der folgende Ausdruck hingegen ergibt false
, da der Teilausdruck auf der linken Seite von &&
false
ergibt:
5 < 3 && 4 > 3
Die folgende Wahrheitstabelle fasst alle möglichen Kombinationen zusammen:
a | b | a && b |
---|---|---|
false | false | false |
true | false | false |
false | true | false |
true | true | true |
Disjunktion: Die oder-Verknüpfung
Eine oder-Verknüpfung wird immer dann eingesetzt, wenn wir möchten, dass ein Ausdruck den Wert true
ergibt, sobald einer der beiden Teile des Ausdrucks den Wert true
ergibt.
In Java wird dies durch den Operator ||
ausgedrückt.
Der folgende Ausdruck ergibt false
, da beide Ausdrücke die durch || verknüpft werden false
ergeben.
5 < 3 || 4 < 3
Die nachfolgenden Ausdrücke ergeben aber alle true
da mindestens einer der Teilausdrücke true
ergibt:
5 < 3 || 4 > 3
5 > 3 || 4 < 3
Die folgende Wahrheitstabelle fasst alle möglichen Kombinationen zusammen:
a | b | a || b |
---|---|---|
false | false | false |
true | false | true |
false | true | true |
true | true | true |
Negation
Die Negation ist nicht wie und und oder eine zweistellige Verknüpfung, die zwei Wahrheitswerte kombiniert, sondern es wird nur mit einem Wahrheitswert gearbeitet.
Die Negation wird immer dann eingesetzt, wenn wir möchten, dass ein Ausdruck den Wahrheitswert umkehrt.
Die Negation wird in Java durch !
dargestellt.
Der folgende Ausdruck ergibt false
, da der Ausdruck rechts der Negation !
true
ergibt:
!(5 > 3)
Umgekehrt ergibt der folgende Ausdruck true
, da der Ausdruck rechts der Negation false
ergibt:
!(5 < 3)
Die folgende Wahrheitstabelle fasst alle möglichen Kombinationen zusammen:
a | !a |
---|---|
false | true |
true | false |
Kombination von logischen Operatoren
Da jeder logische Operator wieder einem boolschen Wert entspricht, dürfen wir natürlich auf diesen Wert auch wieder logische Operatoren anwenden. So können wir mit diesen Grundoperatoren beliebig komplexe logische Ausdrücke erzeugen. Hier ein Beispiel:
((5 > 3) || (3 < 4)) && (! (3 < 4))
Wir haben hier explizit Klammern gesetzt um anzuzeigen, um zu bestimmen welcher Wert zuerst ausgewertet wird.
Wenn wir keine Klammern setzen würden, würde zuerst immer die Negation !
, dann die und Verknüpfung &&
und am Schluss die oder Verknüpfung ||
ausgewertet.
Experimente
Experimentieren Sie gleich selbst mit diesen Operatoren:
- Welche Klammern können Sie in obigem Ausdruck weglassen?
- Ersetzen Sie die einzelnen Vergleiche in obigem Ausdruck durch boolsche Variablen mit demselben Wahrheitswert.
- Finden Sie ein Beispiel einer komplexen Verknüpfung, wo verschiedene Klammerungen einen unterschiedlichen Wahrheitswert ergeben.
Haben Sie Fragen oder Bemerkungen? Schreiben Sie diese doch ins Forum.