📖 Bedingungen
Bedingungen sind Code-Ausdrücke, welche entweder wahr (true
) oder falsch
(false
) sein können. Diese werden mit dem Datentyp boolean
ausgedrückt und
sind elementar für die
if
-Selektion um zu
entscheiden, welcher Codeblock genau ausgeführt werden soll.
Bedingungen werden mit ⚖️ Vergleichsoperatoren definiert. Machen Sie sich mit diesen Vertraut.
Beispielsweise könnte eine Kassensoftware Kunden, die für mehr als 100 CHF einkaufen einen Rabatt von 10% einräumen. Dies sieht dann so aus:
if (amount > 100) { // Boolsher Ausdruck direkt in der if-Kontrollstruktur
amount = amount * 0.9; // 10% discount
}
Stattdessen könnte man auch eine Variable boolean giveDiscount
(gebe
Rabatt) einführen. Dies hat den Vorteil, dass ein guter Variabelname direkt
beschreibt was gemacht wird. Dies würde dann so aussehen:
boolean giveDiscount = amount > 100;
if (giveDiscount) { // Variable vom Datentyp `boolean` in der if-Kontrollstruktur
amount = amount * 0.9; // 10% discount
}
Weitere Beispiele
Hier noch mehr Beispiele wie Boolshe Ausdrücke in boolean Variablen gespeichert
und verwendet werden können. Laut Konvention beginnen diese Variablennamen mit
is
(zu Deutsch "ist").
// mit int
int age = 21; // gegeben ist eine int Variable
boolean is21 = age == 21; // true
boolean isNot21 = age != 21; // false, oder !is21
boolean isAdult = age >= 18; // true
boolean isChild = age <= 18; // false
// Diese Variablen können nun in der if-Kontrollstruktur als Bedingung verwendet werden
if (is21) {
System.out.println("Das alter ist genau 21");
} else if (isAdult) {
System.out.println("Es handelt sich um eine erwachsene Person");
}
Kombination von Bedingungen und Wahrheitswerten
Manchmal müssen mehrere Bedingungen kombiniert werden. Dies kann mit einem
logischen UND (&&
) sein oder mit einem logischen ODER (||
). Nur wie stellt
man dies in Java dar?
Java | Beduetung | Beschreibung |
---|---|---|
&& | Logisches UND | alle Werte müssen true sein |
|| | Logisches ODER | mindestens ein Wert muss true sein |
if (amount < 100 || age < 18) {
amount = amount * 0.9d;
}
if (amount < 100 && age < 18) {
amount = amount * 0.9d;
}
Wahrheitstabellen
Beim logischen UND, &&
, müssen beide, rsp. alle Werte true
sein.
Sobald ein false auftritt, ist alles false:
Kombination | Resultat |
---|---|
true && true | true |
true && false | false |
false && false | false |
Rabatt für Einkäufe über 100 CHF UND Kunden jünger als 18 Jahre:
Beim logischen ODER, ||
, muss mindestens ein Wert true
sein. Sobald
ein true
auftritt, ist alles true
:
Kombination | Resultat |
---|---|
true || true | true |
true || false | true |
false || false | false |
Rabatt für Einkäufe über 100 CHF ODER Kunden jünger als 18 Jahre:
Die beiden senkrechten Striche werden auf CH-PC-Tastaturen häufig mit
ALT-GR plus Taste 7
erzeugt (auf der Taste ist das meist mit einem
gelegentlich noch unterbrochen vertikalen Strich dargestellt).