Boolean

Aus EINI
Wechseln zu: Navigation, Suche

Ein boolean ist der kleinste primitive Datentyp in Java. Er repräsentiert ein einzelnes Bit. Der Datentyp kann die Wahrheitswerte true oder false annehmen.

Der Datentyp boolean wird zudem von Bedingungen in if-Anweisungen und while-, do-while- und for-Schleifen erwartet. Diese beinhalten daher einen booleschen Ausdruck. Ein boolean ist das Ergebnis aller Vergleichsoperationen.

Schlüsselwort

Der Datentyp wird durch das Schlüsselwort boolean deklariert. Die Werte, die er annehmen kann, sind true oder false. Diese sind ebenfalls reservierte Schlüsselwörter.

Verwendung

Variablen mit dem Datentyp boolean werden verwendet, um Antworten auf Ja/Nein-Fragen zu speichern. Methoden mit dem Rückgabetyp boolean repräsentieren abstrakte Fragen, die sich mit Ja oder Nein beantworten lassen. Die grundlegenste Form von Ja/Nein-Fragen, die in Java gestellt werden können, sind Vergleiche von Werten.

Verwendungszweck

Ein boolean wird in bedingten Anweisungen und Schleifen als Parameter erwartet. Entsprechend beantwortet ein boolean in jeder Bedingung von bedingten Anweisung oder Schleifen die Frage danach, ob der Code (weiter) ausgeführt werden soll.

Redundante Verwendung und bessere Alternativen

Eine der häufigsten Anfängerfehler im Umgang mit booleans ist das Überprüfen einer booleschen Variablen auf true oder false:

boolean foo;
/* Es wird der Variablen foo ein Wert zugewiesen */
/* [...] */
if(foo == true){
    [...]
} else {
    [...]
}

Da der Vergleich foo == true selbst wieder einen boolean als Ergebnis hat, ist der Vergleich unnötig. Der Code kann also auch einfach folgendermaßen notiert werden:

boolean foo;
/* [...] */
if(foo){
    [...]
} else {
    [...]
}

Funktionen wie folgende sind sehr ungerne gesehen:

public static boolean smallerThan5(int x){
    if(x < 5){
        return true;
    } else {
        return false;
    }
}

Da der Vergleich x < 5 selbst bereits den gewünschten boolean repräsentiert, kann man den Code auch einfach folgendermaßen abkürzen:

public static boolean smallerThan5(int x){
    return x < 5;
}