Java Schnellstart – Logikoperatoren
Neben Vergleichsoperatoren bietet Java zusätzlich Logikoperatoren an. Was du mit Logikoperatoren machen kannst und wie sie dir dabei helfen, deine Programme flexibler zu machen, erfährst du in dieser Lektion.
Logikoperatoren - Was ist das?
Logische Operatoren sind Operatoren die, genauso wie Vergleichsoperatoren, einen Wert vom Typ Boolean zurückliefern. Anders als Vergleichsoperatoren werden hier jedoch bestehende Bedingungen (also booleans) miteinander verknüpft.
- UND/AND: Damit ist es zum Beispiel möglich, eine Bedingung zu schaffen, bei der zwei Bedingungen wahr sein müssen.
- ODER/OR: Alternativ muss eine Bedingung bestehen, bei der nur eine von zwei Bedingungen wahr sein muss, damit die komplette "Hauptbedingung" wahr ist.
- NICHT/NOT: Es gibt aber auch logische Operatoren, die keine Bedingung miteinander verknüpft, sondern verneint, das bedeutet eine Bedingung ist dann wahr, wenn sie nicht wahr ist (aus false wird true). Andersherum wird aus dem Wert "true" der Wert "false".
Logisches AND (&&)
Bei dem UND-Operator ist die Hauptbedingung dann wahr, wenn genau beide Bedingungen wahr sind. Im Code sieht das dann folgendermaßen aus:
boolean bedingung1 = 5 == 5;
boolean bedingung2 = true;
boolean bedingung3 = bedingung1 && bedingung2; // true
boolean bedingung4 = false;
boolean bedingung5 = bedingung1 && bedingung4; // false
Für das logische AND verwendet man, wie du siehst, zweimal das "UND-Zeichen" &&.
Logisches OR (||)
Bei dem logischen ODER-Operator müssen nicht beide Bedingungen wahr sein, damit die Hauptbedingung wahr ist, sondern mindestens eine Bedingung muss wahr sein. Hierbei verwendet man nun das zwei Striche (||)
boolean bedingung1 = true;
boolean bedingung2 = false;
boolean bedingung3 = bedingung1 || bedingung2; // true
boolean bedingung4 = false;
boolean bedingung5 = bedingung2 || bedingung4; // false
Logisches NOT (!)
Mit dem logischen NOT ist es möglich eine Aussage bzw. Bedingung zu verneinen, das bedeutet aus einem true-Wert wird false und aus einem false-Wert wird true.
boolean bedingung1 = true;
boolean bedingung2 = !bedingung1; // false
boolean bedingung3 = !bedingung2; // true
Mehr als zwei Bedingungen
Du kannst OR und AND auch mit mehr als zwei Bedingungen verwenden:
boolean bedingung1 = true;
boolean bedingung2 = true;
boolean bedingung3 = true;
boolean bedingung4 = bedingung1 && bedingung2 && bedingung3; // true, alle Bedingungen müssen true sein
boolean bedingung5 = bedingung1 || bedingung2 || bedingung3; // true, mind. eine Bedingung muss true sein
Logikoperatoren mischen
Weiterhin kannst du mehrere logische Operatoren mischen:
boolean bedingung1 = false;
boolean bedingung2 = false;
boolean bedingung3 = true;
boolean bedingung4 = bedingung1 || !bedingung2 && bedingung3; // true
Eine wichtige Regel lautet: UND vor ODER. Das ist dasselbe wie bei der Multiplikationsregel "Punkt-Vor-Strich". Hier wenden wir das Prinzip lediglich auf Logikoperatoren an.
Fazit
Logische Operatoren sind hilfreiche Werkzeuge, wenn du bspw. If-Verzweigungen verwenden möchtest. Was damit gemeint ist, erfährst du in der nächsten Lektion.