Skip to main content

So verwendest du den Java Oder Operator

Kennst du das auch aus deiner Schulzeit?
Du schreibst eine Klassenarbeit in irgendeinem Fach.
Nehmen wir einfach mal an – Mathe.

Jetzt bist gerade fertig mit deiner Arbeit.
Und zu Hause wirst du gefragt: „Und wie lief es?“
Du antwortet:“ Ganz gut. Es wird bestimmt eine Eins oder eine Zwei.“

Drei oder vier Tage später bekommst du die Arbeit zurück.
Es ist eine Eins. Super

Meine Frage an dich:
Hast du Recht behalten?
Stimmte die Aussage: „Ganz gut. Es wird bestimmt eine Eins oder eine Zwei.“

Ja klar stimmte diese.
Du hast eine Eins bekommen.

Wenn die Aussage Eins oder Zwei lautet.
Und du bekommst die Eins.
Dann ist der erste Teil der Aussage: „Es wird eine Eins“ wahr.

Der zweite Teil der Aussage:“ Es wird eine Zwei“ ist für sich genommen falsch.
Schließlich hast du ja eine Eins bekommen.

Aber wenn du beide Aussagen mit einem logischen Oder verknüpfst-
Eins oder Zwei-
Dann ist gesamte Aussage richtig oder wahr, solange nur ein Teil der Aussage wahr ist.

Erweitern wir dies.
Stell dir vor, du hättest geantwortet: „Ganz gut. Es wird bestimmt eine Eins oder eine Zwei oder eine Drei.“
Und wieder bekommst du die Eins.

Na ist die Aussage immer wahr?
Natürlich. Denn solange nur ein Ausdruck wahr ist, ist die Gesamtaussage ebenfalls wahr.

Noch ein anderes Beispiel:
Ganz einfach: „Heute ist Montag oder Dienstag“.

Ich habe keine Ahnung, wann du das liest.
Aber wenn bei dir gerade Montag oder Dienstag ist – dann stimmt meine Aussage.

Okay, – Wie bekommst du dieses Wissen in Java übersetzt?

Java bietet dir einen Datentypen für logische Ausdrücke an.
Und dieser nennt sich boolean.

Und wie du diesen Datentyp mit dem logischen Oder in Java verwendest, dass zeige ich dir jetzt.

So kannst du in Java das logische Oder anwenden.

Ich sagte ja bereits- da gibt es den Datentypen boolean.
Und dieser kann zwei Werte entgegennehmen.

Oder du kannst auch sagen:
„Dieser Datentyp kann genau zwei Zustände haben.“

Dieser Zustand ist entweder wahr oder falsch.
Und in Javasprache übersetzt heißt das – true oder false.

Kommen wir nochmal auf die Klassenarbeit zurück.
Die Aussage lautete:
„Eins oder Zwei oder Drei.“

Jetzt wird es die Eins.
Somit ist der erste Ausdruck wahr und die anderen beiden falsch.

In Java-Boolean-Sprache hieße dies: true | false | false
Das Zeichen für das logische Oder ist dieser gerade Strich zwischen den Wahrheitswerten.

Lass uns das Ganze jetzt mit echten Code darstellen.


public class JavaOder {
	public static void main(String[] args) {
		boolean istEins1 = true; //Aussage richtig
		boolean istEins2 = false;//Aussage falsch
		boolean istEins3 = false;//Aussage auch falsch
		
		System.out.println(istEins1 | istEins2 | istEins3);//Oder Verknüpfung  = true	
	}
}

Probiere es aus und führe dieses Programm einmal selbst aus.
Die Konsolenausgabe ist true.

Lass uns das Ganze einmal anders darstellen.
Und zwar kannst du auch einen Wert für die Note festlegen, welche du erhalten hast.
Diese kannst du dir dann in einer Integer Variablen abspeichern.
int meineNote = 1;

Und eine zweite Boolean-Variable speichert das Ergebnis der Oder Verknüpfung.
boolean istEins = meineNote==1 | meineNote==2 | meineNote==3;

Und auch in diesem Fall ist in der Variable istEins der Wert true gespeichert.


public class JavaOder {
	public static void main(String[] args) {
		int meineNote = 1;
		boolean istEins = meineNote==1 | meineNote==2 | meineNote==3;

		System.out.println(istEins);//true	
	}
}

Du musst dir die Rückgabe der oder-Verknüpfung nicht unbedingt in einer Variable speichern.
Denn auch das funktioniert.


public class JavaOder {
	public static void main(String[] args) {
		int meineNote = 1;
		
		System.out.println(meineNote==1 | meineNote==2 | meineNote==3);//true	
	}
}

Wozu das Ganze?
Diese logischen Verknüpfungen nutzt du in der Java Programmierung für Kontrollstrukturen.

Und wie das geht- das zeige ich dir jetzt.

So kannst du eine Kontrollstruktur mit dem Oder Operator auswerten.

Java Programme sollen, unter Anderem, Daten auswerten, analysieren und auch abfangen.

Am Beispiel:
Eine Passwortabfrage in einem Programm prüft, ob das Passwort korrekt ist.
Erst wenn das Passwort in Ordnung ist, wird ein Login freigegeben.

Oder in einem Computerspiel.
Erst wenn bestimmte Werte erfüllt sind, kann die Spielfigur in ein neues Level aufsteigen.

Und diese Prüfung der Daten auf ihren Wert hin, macht man mit Kontrollstrukturen.

So eine Kontrollstruktur kannst du mit einem if- und else Block umsetzen.

Eine Struktur bei der Passwortabfrage kann man formal so beschreiben.
Wenn der Wert (Passwort) dem hinterlegten Passwort entspricht, dann gebe Login frei.
Ansonsten gebe Login nicht frei.

Okay – so einen if -else Block setzen wir einfach mal um.
Und zwar bei den Schulnoten.

Wenn die Note Eins oder Zwei ist- Dann erscheint die Bildschirmausgabe:
„Super!! Hast du toll gemacht“.
Wenn die Note eine andere ist, erscheint folgende Bildschirmausgabe:
„Könnte besser sein“.

Du brauchst also wieder eine Oder-Verknüpfung.
1 oder zwei.
Oder in Java Code:
meineNote == 1 | meineNote == 2

Das wäre jetzt das Programm:


public class JavaOder {
	public static void main(String[] args) {
		int meineNote = 1;

		if (meineNote == 1 | meineNote == 2) {
			System.out.println("Super!! Hast du toll gemacht");
		} else {
			System.out.println("Könnte besser sein");
		}
	}
}

Was passiert hier?

  • Die Variable „meineNote“ hat den Wert 1.
  • Jetzt wird die Klammer des if-Blockes geprüft.
    Und dort steht als Erstes:
    meineNote == 1
  • Die Note ist tatsächlich 1.
    Deshalb ist dieser Ausdruck wahr oder true.
  • Der zweite Ausdruck:
    meineNote == 2
    Für sich genommen ist dieser Ausdruck falsch bzw. false.
  • Für den Gesamtausdruck steht in der Klammer folgende Wahrheitsformel:
    true | false
  • Und true oder false ergibt true.
  • Wenn die Note 1 oder 2 ist, springt das Programm in den if-Block und führt diesen aus.

Probiere es aus und ändere den Wert von „meineNote“ in 3.


public class JavaOder {
	public static void main(String[] args) {
		int meineNote = 3;

		if (meineNote == 1 | meineNote == 2) {
			System.out.println("Super!! Hast du toll gemacht");
		} else {
			System.out.println("Könnte besser sein");
		}
	}
}

Dann würde das Programm wieder prüfen:

  • meineNote == 1
    Nein-also false
  • Oder:
    meineNote == 2
    Nein- ebenfalls false
  • Der Klammerausdruck würde bei einem Wert von Drei folgende Wahrheitsformel haben:
    False | false
  • Und false oder false ist false.
  • Das Programm springt dann nicht in den if Block, sondern direkt in den else-Block.

Zusammenfassung:

  • In Java kannst du das logische Oder über das | darstellen.
  • Sobald ein Teilausdruck einer Oder-Verknüpfung wahr ist, ist die gesamte Verknüpfung ebenfalls wahr.
  • Mit dem Oder Operator lassen sich nicht nur Wahrheitswerte vergleichen.
  • Du kannst mit diesen auch Zahlen, Variablen, Rückgabewerte von Methoden vergleichen.

Ähnliche Beiträge

Java Methoden mit variabler Argumentenanzahl – VarArgs

Java Methoden mit variabler Argumentenanzahl VarArgs

Du kennst das noch. Kopfrechnen und zwar auf Zeit. So etwas ist das Standardprogramm in den Schulklassen 1 bis 5. Irgendwann, in Klasse 6 oder 7, kommt der Taschenrechner ins Spiel und Kopfrechnen ist aus dem Schulalltag gestrichen. Schade eigentlich. Dabei kann man diese Disziplin auch wunderbar in kleinen Spielen unterbringen. Ich erinnere mich noch: […]

3 Möglichkeiten um Vererbung von Java Klassen zu verhindern, zu verbieten oder ausschließen

Java Vererbung verhindern

Die ganze Java Vererbung für bestimmte Klassen ausschließen bzw. verhindern oder verbieten. Was soll das? Für bestimmte Java Klassen soll die Vererbung ausgeschlossen werden. Es soll also verhindert werden, dass Elternklassen – Kindklassen bekommen können. Klingt ein bisschen wie Verhütung, oder? Denn wie auch im echten Leben, können Kinder zu kleinen Tyrannen werden. Sie bedienen […]

So nutzt du die While Schleife in deinem Java Programm

Java While Schleife

Manchmal ist es wichtig, Dinge einmal öfter zu tun. Bei der Java Programmierung kann es schonmal sein, dass du einen Code mehrfach ausführen lassen musst. Zum Beispiel die Zahlen eins bis zehn. Ein Java Programm, welches die Zahlen eins bis zehn wiedergibt. Na wie wäre das? Der Java Code dazu würde so aussehen: public class […]

10 ganz nützlichen Feature der Klasse Java Math

In diesem Beitrag geht es um eine spezielle Java Klasse. Die Klasse nennt sich Java Math. Diese ist in der Standardbibliothek von Java enthalten. Warum solltest du diese Klasse kennen? Die Math Klasse bietet dir einen Menge Methoden an, welche zur Berechnung von mathematischen Gleichungen ganz hilfreich sind. Aber auch für Nichtmathematiker ist etwas dabei. […]

Java Übung 11 – Java Objekte in Java Methoden übergeben

Java Übung Java Methoden Objekte

In dieser Java Übung möchte ich dir zeigen, dass du auch in Klassenmethoden auf Objekte und deren Instanzvariablen zugreifen kannst. Schau dir dazu einmal diesen Java Code an. public class Umwandlung { private int x; public int getX() { // getter Methode return x; } public void setX(int x) { // setter Methode this.x = […]

Java Vererbung findet auch zwischen Einkaufstüten und Polizeiautos statt

Java Vererbung

„Manchmal findet Java Vererbung auch zwischen Einkaufstüten und Polizeiautos statt“ Irrer Titel, oder? Aber mal Hand aufs Herz. Was haben eigentlich eine Einkaufstüte und ein Polizeiwagen gemeinsam? Ich verrate dir etwas: Du kannst die Verbindung nicht erkennen, denn ich habe dir nicht alles verraten. Es fehlt noch ein wichtiger Aspekt – eine Verbindung zwischen beiden. […]

Der Aufbau von Java Klassen

Java Klassen Aufbau

Jedes Java Programm besteht aus Java Klassen. Doch wie sind diese aufgebaut? Wie setzt sich die Struktur zusammen? Wo befinden sich Klassen hierarchisch? Was kommt in die Klassen rein und wie wird es integriert? Das sind die Fragen, welche ich in diesem Artikel beantworten werde. Doch bevor wir bei den Klassen ansetzen, müssen wir eine […]

Ende vom Java Blog?

Falls du hier schon länger dabei bist, wird dir aufgefallen sein – dass kaum noch Beiträge veröffentlicht werden. Das tut mir wirklich leid und dafür möchte ich mich auch entschuldigen. Ich weiß, dass Einige unter Euch den Java-Blog wirklich lieben. Aber es ist verdammt schwierig so ein aufwendiges Thema – stilvoll, unterhaltend und methodisch umzusetzen. […]