„Hallo, Amigo. Ich möchte dir etwas über einen neuen Datentyp erzählen. Den Datentyp boolean. Variablen dieses Typs können nur zwei Werte annehmen true (wahr) und false (falsch).

„Wie verwenden wir ihn?“

„Dieser Typ wird implizit an vielen Stellen verwendet. So wie jede Additionsoperation eine Zahl erzeugt, ist das Ergebnis eines jeden Vergleichs ein boolean. Hier ein paar Beispiele:"

Code Erläuterung
1
boolean m;
Diese beiden Ausdrücke sind gleichwertig. Der Standardwert einer boolean-Variable ist false.
2
boolean m = false;
3
if (a > b)
    System.out.println(a);
Das Ergebnis des Vergleichs (entweder true oder false) wird der Variable m zugewiesen. Die Bedingung ist erfüllt, wenn der Ausdruck als true ausgewertet wird.
4
boolean m = (a > b);
if (m)
    System.out.println(a);
5
boolean m = (a > b);
if (m == true)
    System.out.println(a);
Es ist nicht notwendig, eine logische (boolean) Variable mit true oder false zu vergleichen. Das Ergebnis des Vergleichs ist ein boolean, der mit der anderen Variable übereinstimmt. true == true ergibt z.B. true; true == false ergibt false.
6
boolean m = (a > b);
if (m)
    System.out.println(a);

„Weitere Beispiele:“

Code Erläuterung
1
public boolean isALessThanB (int a, int b)
{
    if (a < b)
        return true;
    else
        return false;
}
Diese Methode überprüft, ob die Zahl a kleiner als die Zahl b ist.

Hier sind vier gleichwertige Vergleiche. Der letzte ist der kompakteste und korrekt. Versuche immer, eine kompakte Schreibweise zu verwenden.

2
public boolean isALessThanB (int a, int b)
{
   boolean m = (a < b);
    if (m)
        return true;
    else
        return false;
}
3
public boolean isALessThanB (int a, int b)
{
    boolean m = (a < b);
    return m;
}
4
public boolean isALessThanB (int a, int b)
{
    return a < b;
}

„Was ist, wenn ich 0<a<b schreiben will?“

„Java hat keinen Vergleichsoperator, der drei Operanden entgegennimmt. Du müsstest das also so machen: (0<a) AND (a<b).“

„Schreibe ich das Wort AND?“

„Einen Moment. Ich werde das erklären. Java hat drei logische Operatoren: AND, OR und NOT. Du kannst sie verwenden, um Bedingungen unterschiedlicher Komplexität zu konstruieren. Du kannst diese Operatoren nur mit booleschen Ausdrücken verwenden. Du kannst also nicht (a+1) AND (3) schreiben, aber (a>1)AND (a<3) ist in Ordnung.“

„Der NOT-Operator ist unär: Er betrifft nur den Ausdruck auf der rechten Seite. Er ist eher wie ein Minuszeichen vor einer negativen Zahl als wie ein Multiplikationszeichen zwischen zwei Zahlen.“

„Du kannst verschiedene Operationen mit (logischen) boolean Variablen durchführen.“

„Was zum Beispiel?“

„Sehen wir es uns an:“

Logischer Operator Java-Notation Ausdruck Ergebnis
AND && true && true true
true && false false
false && true false
false && false false
ODER || true || true true
true || false true
false || true true
false || false false
NOT ! ! true false
! false true
Häufige Kombinationen und Ausdrücke m && !m false
m || !m true
! (a && b) !a || !b
! (a || b) !a && !b

„Kannst du mir noch mehr Beispiele geben?“

„Klar:“

Java-Notation Logische Notation
(a<3) && (a>0) (a < 3) AND (a>0)
(a>10) || (a<100) (a>10) OR (a<100)
(a<b) && (!(c<=d)) (a<b) AND (NOT (c<=d))

„Jetzt mach ein paar Aufgaben.“