Java Schnellstart – Booleans
Ein weiterer wichtiger Datentyp ist ein Boolean. In der Informatik, wo alles mit 1 und 0 gespeichert wird, wollen wir häufig genau diesen Zustand abfragen:
- 1 steht für Wahr und
- 0 für Falsch.
Beispiele für "Wahr" und "Falsch":
- Wir wollen wissen, ob die Alarmanlage aktiv ist oder nicht
- Hat unser Spieler den Diamantskin für ein Spiel freigeschaltet oder nicht?
- Ist der Nutzer älter als 18 Jahre?
- Entspricht das eingegebene Passwort dem Passwort, welches in der Datenbank liegt?
- Ist 2 größer als 5?
Alle diese Fragen lassen sich durch den Datentyp Boolean speichern.
Was ist ein Boolean?
In der Programmierung will man häufig Zustände wie "Wahr" oder "Falsch" (Nicht Wahr) speichern. Das lässt sich mit dem Datentyp Boolean erreichen.
In Java gibt es zwei Schlüsselwörter, die man einem Boolean zuweisen kann
- "true" für Wahr und
- "false" für Falsch.
Da ein Boolean nur diese Werte speichern kann, ist dieser Datentyp speichereffizient. Im Grunde muss im Arbeitsspeicher nur eine "Eins" für Wahr und eine "Null" für falsch gespeichert werden.
boolean premiumMietglied = true;
boolean questEinsAbgeschlossen = false;
Später werden wir mit If-Verzweigungen erneut auf Booleans zurückkommen. Je nachdem ob ein Boolean true oder false ist, können wir mit Java-Code unterschiedlich darauf reagieren. Das macht deinen Code sehr flexibel, wenn du logische Entscheidungen treffen musst.
Negierung mit '!'
Booleans lassen sich negieren. Das bedeutet, dass wir ein true in ein false umwandeln. Wenn der Wert false ist, wird daraus true. Diese Umwandlung wird mit dem Negierungsoperator (!) möglich:
boolean wert1 = false; // wert1 ist "false";
boolean wert2 = !wert1; // wert2 ist "true"
boolean wert3 = !wert2; // wert3 ist "false"
Boolean über Vergleichsoperatoren
Eine weitere Besonderheit ist, dass wir "Boolesche Ausdrücke" verwenden können. Das sind im mathematischen Sinne einfach Behauptungen wie 9 ist größer als 100 (9 > 100). Diese Behauptung ist in diesem Fall falsch also false, da die Zahl 9 selbstverständlich kleiner ist als 100.
Wir sind dabei nicht nur auf Zahlen beschränkt, sondern können auch Behauptungen mit Zeichen oder Texten aufstellen z.B. "Hallo" == "Hallo". In diesem Fall erhalten wir den Wert "true".
Zur Verdeutlichung dieser Operatoren, schauen wir uns folgende Code-Beispiele an:
boolean zweiGrößerFünf = 2 > 5; // false
boolean fünfGrößerZwei = 5 > 2; // true
boolean fünfGrößerGleichFünf = 5 >= 5; // true
boolean fünfGleichFünf = 5 == 5; // true
boolean sechsGleichFünf = 6 == 5; // false
boolean siebenKleinerZwei = 7 < 2; // false
boolean siebenKleinerGleichZwei = 7 <= 2; // false
boolean vergleichMitText = "Hallo" == "Hallo"; // true
boolean vergleichMitText2 = "Hallo" == "Tschüss"; // false
Du kannst hier jegliche Vergleichsoperatoren nutzen wie bspw.:
- Größer-als >
- Kleiner-als <
- Gleich ==
- Größer-Gleich >=
- Kleiner-Gleich <=
Wir werden uns in einem kommenden Artikel erneut mit Vergleichsoperatoren beschäftigen.
Code-Aufgabe: Übung zu Booleans
Schaue dir die Variablen b1 bis b6 an und schreibe dazu auf (z.B. auf ein Blatt Papier oder als Kommentar im Code mit dem doppelten Slash // ), ob die Ergebnisse jeweils "true" oder "false" sind. Die Lösung findest du unter dem Code-Editor
Code-Editor:
[lp_spoiler title="Lösung anzeigen" class="da"]
Lösung:
class Main {
public static void main(String[] args) {
boolean b1 = true;
boolean b2 = false;
boolean b3 = false; // Ein Char-Buchstabe ist eigentlich eine bestimmte Zahl, deshalb funktioniert '>'
boolean b4 = true;
boolean b5 = false;
boolean b6 = true;
}
}
[/lp_spoiler]
Fazit
Booleans werden in allen modernen Programmiersprachen angewandt. Besonders hilfreich wird der Datentyp in kommenden Lektionen zu Schleifen, If-Verzweigungen oder bei den dir bereits bekannten Parametern. Wichtig ist, zu wissen, dass ein Boolean ein bestimmter Datentyp ist, der entweder "true" oder "false" bzw. wahr oder falsch speichert.