📖 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).