Wahrheitswerte revisited #
Das Ergebnis eines Vergleichs kann »wahr« oder »falsch« sein #
int zahl = 3;
println(zahl == 2);
// false
println(zahl == 3);
// true
- Ein wichtiger Unterschied:
=nimmt eine Zuweisung vor,==einen Vergleich! - Das Ergebnis eines solchen Vergleichs ist entweder
true(wahr) oderfalse(falsch). trueundfalsesind Wahrheitswerte. Obwohl es nur diese beiden gibt, haben sie einen eigenen Datentyp:boolean
Wahrheitswertvariablen #
// Die Variable zahl muss noch vorhanden sein!
boolean vergleich = zahl == 3;
- Auch Wahrheitswerte lassen sich in Variablen abspeichern, hier in der Variable
vergleich. - Wie jede andere Variable hat
vergleicheinen Datentyp, nämlichboolean.
boolean meinWahrheitswert = true;
- Wahrheitswerte lassen sich auch ohne Vergleich direkt einer Variable zuweisen.
Mehr Vergleichsoperatoren #
Hier nehmen wir an, dass a und b ganze Zahlen enthalten.
| Operator | Bedeutung |
|---|---|
a == b |
Ist a gleich b? |
a != b |
Ist a ungleich b? |
a < b |
Ist a kleiner als b? |
a > b |
Ist a größer als b? |
a <= b |
Ist a kleiner oder gleich b? |
a >= b |
Ist a größer oder gleich b? |
Logische Operatoren #

boolean mitRosinen = true;
boolean mitNüssen = false;
println("Im Müsli sind Nüsse und Rosinen.");
println(mitNüssen && mitRosinen);
println("Im Müsli sind Nüsse oder Rosinen.");
println(mitNüssen || mitRosinen);
- Sollen mehrere Wahrheitswerte verknüpft werden, ist das möglich.
- und überprüft, ob beide Wahrheitswerte wahr sind. Ist das nicht so, ist der ganze Ausdruck falsch. Im Programmcode schreiben wir
&&. - oder überprüft, ob einer der beiden Wahrheitswerte wahr ist. Ist das nicht so, ist der ganze Ausdruck falsch. Im Programmcode schreiben wir
||.
| Rosinen | Nüsse | Nüsse && Rosinen | Nüsse || Rosinen |
|---|---|---|---|
true |
true |
true |
true |
true |
false |
false |
true |
false |
true |
false |
true |
false |
false |
false |
false |
println("Im Müsli sind keine Rosinen.")
println(!mitRosinen)
!dreht einen Wahrheitswert um.- Gedanklich können wir
!mitRosinenalso als nicht mit Rosinen lesen.
| Rosinen | !Rosinen |
|---|---|
true |
false |
false |
true |
Das Ergebnis eines Vergleichs kann »wahr« oder »falsch« sein #
zahl = 3;
print(zahl == 2)
# False
print(zahl == 3)
# True
- Ein wichtiger Unterschied:
=nimmt eine Zuweisung vor,==einen Vergleich! - Das Ergebnis eines solchen Vergleichs ist entweder
True(wahr) oderFalse(falsch). TrueundFalsesind Wahrheitswerte. Obwohl es nur diese beiden gibt, haben sie einen eigenen Datentyp:bool
Wahrheitswertvariablen #
# Die Variable zahl muss noch vorhanden sein!
vergleich = zahl == 3
- Auch Wahrheitswerte lassen sich in Variablen abspeichern, hier in der Variable
vergleich. - Wie jede andere Variable hat
vergleicheinen Datentyp, nämlichbool.
meinWahrheitswert = True
- Wahrheitswerte lassen sich auch ohne Vergleich direkt einer Variable zuweisen.
Mehr Vergleichsoperatoren #
Hier nehmen wir an, dass a und b ganze Zahlen enthalten.
| Operator | Bedeutung |
|---|---|
a == b |
Ist a gleich b? |
a != b |
Ist a ungleich b? |
a < b |
Ist a kleiner als b? |
a > b |
Ist a größer als b? |
a <= b |
Ist a kleiner oder gleich b? |
a >= b |
Ist a größer oder gleich b? |
Logische Operatoren #

mit_rosinen = True
mit_nüssen = False
print('Im Müsli sind Nüsse und Rosinen.')
print(mit_nüssen and mit_rosinen)
print('Im Müsli sind Nüsse oder Rosinen.')
print(mitNüssen or mitRosinen)
- Sollen mehrere Wahrheitswerte verknüpft werden, ist das möglich.
- und überprüft, ob beide Wahrheitswerte wahr sind. Ist das nicht so, ist der ganze Ausdruck falsch. Im Programmcode schreiben wir
and. - oder überprüft, ob einer der beiden Wahrheitswerte wahr ist. Ist das nicht so, ist der ganze Ausdruck falsch. Im Programmcode schreiben wir
or.
| Rosinen | Nüsse | Nüsse and Rosinen |
Nüsse or Rosinen |
|---|---|---|---|
True |
True |
True |
True |
True |
False |
False |
True |
False |
True |
False |
True |
False |
False |
False |
False |
print("Im Müsli sind keine Rosinen.")
print(not mit_rosinen)
notdreht einen Wahrheitswert um.- Gedanklich können wir
not mitRosinenalso als nicht mit Rosinen lesen.
| Rosinen | not Rosinen |
|---|---|
true |
false |
false |
true |
Aufgabe: Wahrheitswertvariable #
Nimm an, du hast eine Variable vergleich, die einen Wahrheitswert enthält. Macht es etwas aus, ob du vergleich oder vergleich == true (Java) bzw. vergleich == True (Python) schreibst?
Schreibe ein Programm, um das auszuprobieren. (Drei Zeilen höchstens…)
Aufgabe: Viele Vergleiche #
Schreibe ein Programm, dass für zwei beliebige ganze Zahlen alle Vergleichsoperatoren ausprobiert.
Die Ausgabe sollte etwa so aussehen:
Gib einen Wert für a ein: 5
Gib einen Wert für b ein: 3
Ist a gleich b?
false
Ist a ungleich b?
true
Ist a kleiner als b?
false
Ist a größer als b?
true
Ist a kleiner oder gleich b?
false
Ist a größer oder gleich b?
true
Flashcards #
Welcher Datentyp ergibt sich aus dem Ausdruck
5 < 7?Der Datentyp
boolean.Der Datentyp
bool.Gib einen logischen Ausdruck an, mit dem überprüft wird, ob eine Zahl, die in der Variable
zahl abgespeichert ist, zwischen 8 und 13 liegt (jeweils einschließlich).zahl >= 8 && zahl <=13
zahl >= 8 and zahl <=13
Gib zwei logische Ausdrücke an, mit denen überprüft wird, ob eine Zahl, die in der Variable
zahl abgespeichert ist, nicht zwischen 8 und 13 liegt.!(zahl >= 8 && zahl <=13)
zahl < 8 || zahl > 13
not (zahl >= 8 and zahl <=13)
zahl < 8 or zahl > 13
Gib die Antwort auf diese Frage mit Hilfe eines kleinen Programms.
Ist zwei mal eins plus eins drei oder vier?
boolean antwort = 2 * 1 + 1 == 3 || 2 * 1 + 1 == 4;
println(antwort); // true
antwort = 2 * 1 + 1 == 3 or 2 * 1 + 1 == 4
print(antwort) # True