„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 |
|
Diese beiden Ausdrücke sind gleichwertig. Der Standardwert einer boolean-Variable ist false. |
2 |
|
|
3 |
|
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 |
|
|
5 |
|
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 |
|
„Weitere Beispiele:“
Code | Erläuterung | |
---|---|---|
1 |
|
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 |
|
|
3 |
|
|
4 |
|
„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.“
GO TO FULL VERSION