Zum Hauptinhalt springen

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

Ohne Vergleichsoperatoren keine Bedingungen

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

Beispiel Bool'she Ausdrücke in Variablen
// 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?

JavaBeduetungBeschreibung
&&Logisches UNDalle Werte müssen true sein
||Logisches ODERmindestens ein Wert muss true sein
Beispiel: ODER
if (amount < 100 || age < 18) {
amount = amount * 0.9d;
}
Beispiel: UND
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:

KombinationResultat
true && truetrue
true && falsefalse
false && falsefalse

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:

KombinationResultat
true || truetrue
true || falsetrue
false || falsefalse

Rabatt für Einkäufe über 100 CHF ODER Kunden jünger als 18 Jahre:

tip

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