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 Übung 21 – Bestimme die Anzahl der Tage

Java Übung Tage

In dieser Java Übung möchte ich, dass du eine Methode schreibst, welche zwei Zahlen entgegennimmt. Und zwar soll die erste Zahl das Jahr sein. Die zweite Zahl soll eine Monatsangabe (1-12) repräsentieren. Was soll die Methode dann machen? Die Methode soll dir die Anzahl der Tage des jeweiligen Monats zurückgeben. Achte auf Schaltjahre.

So implementierst du Instanzmethoden in deine Java Klasse

Java Instanzmethoden

In einen der letzten Beiträge habe ich dir gezeigt, wie du eine Klasse anlegen kannst. Ich habe die Klasse „Mensch“ oder „Human“ angelegt und wir haben die erste Instanzvariable implementiert. Dein Code sollte jetzt so aussehen: public class Human { int size=156;//size in centimeter } In diesem Beitrag werde ich dir zeigen, wie du Java […]

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. […]

Java Vererbung:
Die 3 Schablonen für deine Java Objekte

Java Vererbung Beispiel

Im letzten Beitrag habe ich dir das Java Vererbung Konzept an einem Beispiel vorgestellt. In dem Beispiel-Rollenspiel gab es Klassen zu Helden und Superhelden. Ich habe dir die Vererbungshierarchien theoretisch erläutert. Jetzt geht es ans Praktische. In diesen Beitrag lernst du: Wie du bestehende Java Klassen erweiterst Wie du Objekte aus den erweiterten Klassen erstellen […]

So kannst du Java Konstruktoren anlegen und überladen

Java Konstruktoren

Der Name sagt es schon. Java Konstruktoren konstruieren oder bauen Java Objekte. Und diese Objekte baut der Konstruktor auf Vorlage der entsprechenden Java Klasse. In diesem Beitrag zeige ich dir natürlich verschiedene Ansätze wie du den Konstruktor einsetzt. Ich zeige dir dies Schritt für Schritt. Dabei zeige ich dir auch verschiedene Dinge, welche nicht funktionieren. […]

Polymorphie bringt Vorteile für Java Arrays

Java Polymorphie Arrays

Wenn Java Arrays, Schubladen oder Container sein sollen… Dann wäre der Gebrauch einer solchen Schublade ziemlich einseitig und festgefahren. Denn in jedes Array passen zwar mehrere Daten – aber immer nur vom gleichen Datentyp. Immer gleicher Datentyp? Also eine Schublade nur für Socken, Unterwäsche und der ganze andere Kram passt dann eben nicht hinein. Um […]

Den Java Vererbungsbaum nach dem Ist-Es-Prinzip richtig entwerfen

Java Vererbungsbaum

Vererbungsbaum in Java – klingt erstmal komisch. Dennoch wird dies so bezeichnet. Gemeint sind damit – die einzelnen Hierarchiestufen oder Vererbungsebenen – von der Superklasse bis runter zu den Kindklassen. Wie sieht das nun konkret aus? Vererbung bedeutet: Du definierst einen allgemeinen Typen – zB. Möbel Und dann implementierst du eine Unterklasse, welche die Oberklasse […]

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. […]