„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 istAKleinerAlsB (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 istAKleinerAlsB (int a, int b)
{
   boolean m = (a < b);
    if (m)
        return true;
    else
        return false;
}
3
public boolean istAKleinerAlsB (int a, int b)
{
    boolean m = (a < b);
    return m;
}
4
public boolean istAKleinerAlsB (int a, int b)
{
    return a < b;
}
undefined
4
Aufgabe
Java Syntax, Level 4, Lektion 7
Gesperrt
Etiketten und Zahlen
Nicht alle Etiketten sind gleichermaßen nützlich, aber manchmal führt ein Mangel an Etiketten zu Chaos. Lass uns eine Aufgabe erledigen, die Etiketten austeilt: Gib eine ganze Zahl über die Tastatur ein und lasse das Programm anzeigen, ob die Zahl negativ oder positiv (oder Null) und gerade oder ungerade ist. Warum brauchen wir das? Einfach so, zur Übung. Schließlich sind wir hier, um zu lernen!

„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.“

undefined
8
Aufgabe
Java Syntax, Level 4, Lektion 7
Gesperrt
Zahlen beschreiben
Nehmen wir an, wir müssen die Zahlen nach verschiedenen Kriterien trennen. Zum Beispiel, je nachdem, ob sie gerade oder ungerade sind, oder je nach der Anzahl ihrer Ziffern. Hast du ein Bild davon in deinem Kopf? Und nun zur Arbeit: Wir schreiben ein Programm, das die vom Benutzer eingegebene Zahl beschreibt (sie muss im Bereich von 1 bis 999 liegen). Die Beschreibung zeigt an, ob die Zahl gerade oder ungerade ist und wie viele Ziffern sie hat.
undefined
4
Aufgabe
Java Syntax, Level 4, Lektion 7
Gesperrt
Positive Zahl
In der Schule der „Optimisten“ hat die Skala zur Beurteilung des Wissens weder eine Ober- noch eine Untergrenze. Das kommt jungen, talentierten Leuten sehr entgegen (würdest du dich nicht über eine Punktzahl von einer Milliarde für eine Präsentation freuen?). Alle Werte über Null gelten als gut. Werte unter Null sind schlecht. Die Schüler müssen Abschlussprüfungen in drei Fächern ablegen. Wir müssen drei Punktzahlen über die Tastatur eingeben und die Anzahl der positiven Punkte anzeigen.
undefined
4
Aufgabe
Java Syntax, Level 4, Lektion 7
Gesperrt
Positive und negative Zahlen
Die Datenanalyse beginnt bei einem einfachen Konzept: Wir müssen verstehen, welche Daten wichtig sind und verwendet werden sollen, und welche Daten verworfen werden sollen. Lass uns ein einfaches Problem der Datenanalyse lösen. Wir geben drei ganze Zahlen über die Tastatur ein, dann analysieren wir sie und zeigen die Anzahl der positiven und negativen Zahlen im Quelldatensatz an.
undefined
2
Aufgabe
Java Syntax, Level 4, Lektion 7
Gesperrt
Code-Eingabe
Manchmal darf man gar nicht nachdenken, man muss es einfach raushauen! Auch wenn es sich paradox anhört, manchmal „erinnern“ sich deine Finger besser als dein bewusster Verstand. Deshalb wirst du es im Rahmen der Schulung im geheimen CodeGym-Zentrum manchmal mit Aufgaben zu tun bekommen, bei denen du Code eingeben musst. Wenn du Code eingibst, gewöhnst du dich an die Syntax und sammelst ein wenig dunkle Materie. Außerdem tust du etwas gegen deine Faulheit!