Logik im Griff: So nutzt du Java AND- & OR-Operatoren
Die logischen Java-Operatoren AND und OR helfen dir dabei, zwei Voraussetzungen auf ihre Richtigkeit zu prüfen. Obwohl beide Funktionen ähnlich wirken, liegen die Unterschiede im Detail. Wir erklären dir die Funktionsweise von OR- und AND-Operatoren in Java anhand einiger einfacher Beispiele.
Java AND und OR
Java-Operatoren sind beim Arbeiten mit der Programmiersprache ein wesentliches Werkzeug. Sie sind in verschiedene Kategorien unterteilt und erfüllen spezifische Aufgaben. Wenn du gerade dabei bist, Programmieren zu lernen, sind AND und OR in Java besonders nützlich. Beide zählen zu den logischen Operatoren und prüfen die Richtigkeit eines angenommenen Zustands. Als Ergebnis liefern sie einen booleschen Wert zurück. Dieser lautet „true“, wenn die Aussage stimmt, oder „false“, wenn sie nicht zutrifft.
Der AND-Operator in Java prüft zwei Zustände und gibt nur dann ein „true“ aus, wenn beide Aussagen zutreffen. Ist das nicht der Fall, lautet die Antwort „false“. Er wird mit „&&“ geschrieben. Der OR-Operator in Java untersucht ebenfalls zwei Zustände und gibt „true“ aus, sofern mindestens eine der beiden Aussagen wahr ist. Nur wenn beide Aussagen falsch sind, antwortet er mit „false“. Er wird durch „||“ symbolisiert.
Die Syntax der beiden Operatoren ist sehr ähnlich aufgebaut:
aussage1 operator aussage2javaWie du AND und OR in Java einsetzt, zeigen wir dir nun anhand praktischer Beispiele.
Der AND-Operator in Java
Den AND-Operator nutzt du in Java, um sicherzustellen, dass zwei Bedingungen gleichzeitig erfüllt sind. Die Struktur sieht so aus:
aussage1 && aussage2javaNur wenn beide Voraussetzungen wahr sind, erscheint „true“. Ist eine der Aussagen falsch oder treffen beide nicht zu, erhältst du ein „false“.
In unserem ersten Beispiel nutzen wir zwei einfache Aussagen und weisen das System mit dem Java-Befehl System.out.println an, den passenden booleschen Wert auszugeben:
public class Main {
public static void main(String[] args) {
int x = 3;
System.out.println(x > 1 && x < 7);
}
}javaDas System prüft zuerst, ob 3 größer als 1 ist. Das stimmt. Danach wird die Richtigkeit der Aussage „3 < 7“ kontrolliert. Auch diese trifft zu. Da beide Bedingungen erfüllt sind, lautet die Ausgabe „true“.
Schauen wir uns an, was passiert, wenn nur eine Aussage stimmt. Dazu passen wir das Beispiel leicht an:
public class Main {
public static void main(String [] args) {
int x = 3;
System.out.println(x > 1 && x > 7);
}
}javaHier stellt das System fest, dass die erste Aussage korrekt ist, die zweite jedoch nicht. Da für ein „true“ zwingend beide Voraussetzungen erfüllt sein müssen, lautet das Ergebnis „false“.
Im dritten Beispiel bricht die Prüfung sogar vorzeitig ab. Da bereits die erste Voraussetzung nicht stimmt, ignoriert das System die zweite Angabe komplett. Das Ergebnis kann nur noch „false“ sein:
public class Main {
public static void main(String [] args) {
int x = 3;
System.out.println(x > 3 && x < 7);
}
}javaDer OR-Operator in Java
Auch der OR-Operator in Java prüft zwei Voraussetzungen. Er wird folgendermaßen geschrieben:
aussage1 || aussage2javaIm Vergleich zum AND-Operator reicht hier bereits eine erfüllte Voraussetzung aus, um ein „true“ zu erhalten. Das gilt auch, wenn beide Bedingungen wahr sind. Lediglich wenn keine der beiden Voraussetzungen zutrifft, wird „false“ ausgegeben. Das verdeutlichen wir mit weiteren Beispielen.
Zuerst ersetzen wir den Operator && aus dem ersten Beispiel durch ||:
public class Main {
public static void main(String [] args) {
int x = 3;
System.out.println(x > 1 || x < 7);
}
}javaWie beim AND-Operator lautet die Ausgabe „true“. Da die erste Aussage bereits stimmt, ist die Bedingung erfüllt. Die Unterschiede zwischen AND und OR werden im nächsten Beispiel deutlich:
public class Main {
public static void main(String [] args) {
int x = 3;
System.out.println(x > 1 || x > 7);
}
}javaDie erste Aussage ist wahr, da 3 größer als 1 ist. Die zweite Aussage ist falsch, da 3 nicht größer als 7 ist. Da aber eine der beiden Aussagen korrekt ist, gibt das System trotzdem „true“ aus. Die falsche Behauptung spielt in diesem Fall keine Rolle.
Ein „false“ erhältst du nur dann, wenn gar keine Voraussetzung erfüllt wird:
public class Main {
public static void main(String [] args) {
int x = 3;
System.out.println(x > 3 || x > 7);
}
}javaDas System erkennt, dass die erste Aussage falsch ist und prüft deshalb die zweite. Wäre diese wahr, gäbe es ein „true“. Da aber beide Aussagen nicht stimmen, ist das Endergebnis „false“.