Skip to main content

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:

aba && b
falsefalsefalse
truefalsefalse
falsetruefalse
truetruetrue

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:

aba || b
falsefalsefalse
truefalsetrue
falsetruetrue
truetruetrue

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
falsetrue
truefalse

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.