Die logischen Java-Ope­ra­to­ren AND und OR helfen dir dabei, zwei Vor­aus­set­zun­gen auf ihre Rich­tig­keit zu prüfen. Obwohl beide Funk­tio­nen ähnlich wirken, liegen die Un­ter­schie­de im Detail. Wir erklären dir die Funk­ti­ons­wei­se von OR- und AND-Ope­ra­to­ren in Java anhand einiger einfacher Beispiele.

Java AND und OR

Java-Ope­ra­to­ren sind beim Arbeiten mit der Pro­gram­mier­spra­che ein we­sent­li­ches Werkzeug. Sie sind in ver­schie­de­ne Ka­te­go­rien un­ter­teilt und erfüllen spe­zi­fi­sche Aufgaben. Wenn du gerade dabei bist, Pro­gram­mie­ren zu lernen, sind AND und OR in Java besonders nützlich. Beide zählen zu den logischen Ope­ra­to­ren und prüfen die Rich­tig­keit eines an­ge­nom­me­nen Zustands. Als Ergebnis liefern sie einen boole­schen 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 „&&“ ge­schrie­ben. Der OR-Operator in Java un­ter­sucht ebenfalls zwei Zustände und gibt „true“ aus, sofern min­des­tens eine der beiden Aussagen wahr ist. Nur wenn beide Aussagen falsch sind, antwortet er mit „false“. Er wird durch „||“ sym­bo­li­siert.

Die Syntax der beiden Ope­ra­to­ren ist sehr ähnlich aufgebaut:

aussage1 operator aussage2
java

Wie du AND und OR in Java einsetzt, zeigen wir dir nun anhand prak­ti­scher Beispiele.

Der AND-Operator in Java

Den AND-Operator nutzt du in Java, um si­cher­zu­stel­len, dass zwei Be­din­gun­gen gleich­zei­tig erfüllt sind. Die Struktur sieht so aus:

aussage1 && aussage2
java

Nur wenn beide Vor­aus­set­zun­gen 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 boole­schen Wert aus­zu­ge­ben:

public class Main {
	public static void main(String[] args) {
		int x = 3;
		System.out.println(x > 1 && x < 7);
	}
}
java

Das System prüft zuerst, ob 3 größer als 1 ist. Das stimmt. Danach wird die Rich­tig­keit der Aussage „3 < 7“ kon­trol­liert. Auch diese trifft zu. Da beide Be­din­gun­gen 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);
	}
}
java

Hier stellt das System fest, dass die erste Aussage korrekt ist, die zweite jedoch nicht. Da für ein „true“ zwingend beide Vor­aus­set­zun­gen erfüllt sein müssen, lautet das Ergebnis „false“.

Im dritten Beispiel bricht die Prüfung sogar vorzeitig ab. Da bereits die erste Vor­aus­set­zung 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);
	}
}
java

Der OR-Operator in Java

Auch der OR-Operator in Java prüft zwei Vor­aus­set­zun­gen. Er wird fol­gen­der­ma­ßen ge­schrie­ben:

aussage1 || aussage2
java

Im Vergleich zum AND-Operator reicht hier bereits eine erfüllte Vor­aus­set­zung aus, um ein „true“ zu erhalten. Das gilt auch, wenn beide Be­din­gun­gen wahr sind. Lediglich wenn keine der beiden Vor­aus­set­zun­gen zutrifft, wird „false“ aus­ge­ge­ben. Das ver­deut­li­chen wir mit weiteren Bei­spie­len.

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);
	}
}
java

Wie beim AND-Operator lautet die Ausgabe „true“. Da die erste Aussage bereits stimmt, ist die Bedingung erfüllt. Die Un­ter­schie­de 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);
	}
}
java

Die 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 Be­haup­tung spielt in diesem Fall keine Rolle.

Ein „false“ erhältst du nur dann, wenn gar keine Vor­aus­set­zung erfüllt wird:

public class Main {
	public static void main(String [] args) {
		int x = 3;
		System.out.println(x > 3 || x > 7);
	}
}
java

Das 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 End­ergeb­nis „false“.

Zum Hauptmenü