Appearance
Kapitel 7: Bedingte Anweisungen (Entscheidungen treffen)
Bedingte Anweisungen erlauben Ihrem Code, Entscheidungen zu treffen. In diesem Kapitel lernen Sie if, else, switch und mehr.
7.1 if Anweisung: Einzelne Bedingung
Die if-Anweisung führt Code nur dann aus, wenn eine Bedingung true ist.
Grundlegende Syntax
javascript
let alter = 20;
if (alter >= 18) {
console.log("Sie sind volljährig!");
}Ablauf:
- Bedingung in Klammern wird geprüft
- Wenn
true→ Code in{ }wird ausgeführt - Wenn
false→ Code wird übersprungen
Einfache Beispiele
javascript
// Beispiel 1: Passwort-Länge prüfen
let passwort = "geheim123";
if (passwort.length >= 8) {
console.log("Passwort ist lang genug.");
}
// Beispiel 2: Zahl positiv prüfen
let zahl = 10;
if (zahl > 0) {
console.log("Die Zahl ist positiv.");
}
// Beispiel 3: Benutzer angemeldet?
let istAngemeldet = true;
if (istAngemeldet) {
console.log("Willkommen zurück!");
}7.2 if...else Anweisung: Zwei Möglichkeiten
Wenn die Bedingung false ist, wird der else-Block ausgeführt.
Grundlegende Syntax
javascript
let alter = 15;
if (alter >= 18) {
console.log("Sie dürfen Auto fahren.");
} else {
console.log("Sie sind zu jung zum Autofahren.");
}Praxis-Beispiel: Gerade oder ungerade Zahl
javascript
let zahl = 7;
if (zahl % 2 === 0) {
console.log("Die Zahl ist gerade.");
} else {
console.log("Die Zahl ist ungerade.");
}Kurzschreibweise: Einzeiler (nicht empfohlen für Anfänger)
javascript
// Ausführlich (gut):
if (alter >= 18) {
console.log("Volljährig");
} else {
console.log("Minderjährig");
}
// Kurz (schlecht lesbar):
if (alter >= 18) console.log("Volljährig"); else console.log("Minderjährig");7.3 if...else if Anweisung: Mehrere Bedingungen
Wenn Sie mehrere Bedingungen prüfen müssen, verwenden Sie else if.
Grundlegende Syntax
javascript
let note = 85;
if (note >= 90) {
console.log("Sehr gut");
} else if (note >= 75) {
console.log("Gut");
} else if (note >= 50) {
console.log("Befriedigend");
} else {
console.log("Nicht bestanden");
}Ablauf:
- Prüft die erste Bedingung (
note >= 90) - Wenn
false, prüft die nächste (note >= 75) - Wenn alle
false, führtelseaus - Nur ein Block wird ausgeführt!
Praxis-Beispiel: Notenbewertung
javascript
let punkte = 82;
if (punkte >= 90) {
console.log("Note: 1 (Sehr gut)");
} else if (punkte >= 80) {
console.log("Note: 2 (Gut)");
} else if (punkte >= 70) {
console.log("Note: 3 (Befriedigend)");
} else if (punkte >= 60) {
console.log("Note: 4 (Ausreichend)");
} else {
console.log("Note: 5 (Nicht bestanden)");
}7.4 switch Anweisung: Festwert-Vergleich
Wenn Sie feste Werte prüfen, ist switch oft lesbarer als if...else if.
Grundlegende Syntax
javascript
let wochentag = 3;
let tagName;
switch (wochentag) {
case 1:
tagName = "Montag";
break;
case 2:
tagName = "Dienstag";
break;
case 3:
tagName = "Mittwoch";
break;
case 4:
tagName = "Donnerstag";
break;
case 5:
tagName = "Freitag";
break;
default:
tagName = "Wochenende";
}
console.log(tagName); // "Mittwoch"Wichtiges zur switch-Anweisung
| Element | Zweck |
|---|---|
switch (wert) | Wert, der geprüft wird |
case wert: | Vergleichswert |
break; | Verlässt den switch-Block (WICHTIG!) |
default: | Wird ausgeführt, wenn kein case passt |
⚠️ Vergessen Sie break nicht!
javascript
// FALSCH (ohne break):
let x = 2;
switch (x) {
case 1:
console.log("Eins");
case 2:
console.log("Zwei");
case 3:
console.log("Drei");
}
// Ausgabe: "Zwei", "Drei" (Fall-through Bug!)
// RICHTIG (mit break):
switch (x) {
case 1:
console.log("Eins");
break;
case 2:
console.log("Zwei");
break;
case 3:
console.log("Drei");
break;
}
// Ausgabe: "Zwei" ✅Praxis-Beispiel: Menü-Auswahl
javascript
let auswahl = "2";
switch (auswahl) {
case "1":
console.log("Sie haben Pizza gewählt.");
break;
case "2":
console.log("Sie haben Pasta gewählt.");
break;
case "3":
console.log("Sie haben Salat gewählt.");
break;
default:
console.log("Ungültige Auswahl.");
}7.5 Ternärer Operator: Kurzform der Bedingung
Der ternäre Operator (? :) ist eine kurze Schreibweise für einfache if...else-Anweisungen.
Grundlegende Syntax
javascript
// Normale if...else:
let alter = 20;
let status;
if (alter >= 18) {
status = "volljährig";
} else {
status = "minderjährig";
}
// Ternärer Operator (kurz):
let status2 = alter >= 18 ? "volljährig" : "minderjährig";
console.log(status); // "volljährig"
console.log(status2); // "volljährig"Syntax-Erklärung
bedingung ? wertWennTrue : wertWennFalsePraxis-Beispiele
javascript
// Beispiel 1: Gerade/ungerade
let zahl = 7;
let ergebnis = zahl % 2 === 0 ? "gerade" : "ungerade";
console.log(ergebnis); // "ungerade"
// Beispiel 2: Grüß nach Uhrzeit
let stunde = 14;
let gruss = stunde < 12 ? "Guten Morgen" : "Guten Tag";
console.log(gruss); // "Guten Tag"
// Beispiel 3: In Funktionen (kurz)
function istErwachsen(alter) {
return alter >= 18 ? "Ja" : "Nein";
}
console.log(istErwachsen(20)); // "Ja"
console.log(istErwachsen(15)); // "Nein"Wann verwendet man den ternären Operator?
| Situation | Empfehlung |
|---|---|
| Einfache Zuweisung | ✅ Ternärer Operator |
| Komplexe Logik | ❌ Lieber if...else |
| Mehrere Bedingungen | ❌ Lieber if...else if |
| Lesbarkeit wichtig | ❌ Lieber ausführlich schreiben |
7.6 Praxis: Noten bewerten / Alter prüfen
Projekt 1: Noten-Bewertung
javascript
function bewerteNote(punkte) {
if (punkte >= 90) {
return "Sehr gut (1)";
} else if (punkte >= 80) {
return "Gut (2)";
} else if (punkte >= 70) {
return "Befriedigend (3)";
} else if (punkte >= 60) {
return "Ausreichend (4)";
} else {
return "Nicht bestanden (5)";
}
}
console.log(bewerteNote(85)); // "Gut (2)"
console.log(bewerteNote(45)); // "Nicht bestanden (5)"Projekt 2: Altersprüfung mit ternärem Operator
javascript
function pruefeAlter(alter) {
let kategorie = alter < 13 ? "Kind" :
alter < 18 ? "Jugendlicher" :
alter < 65 ? "Erwachsener" :
"Rentner";
return kategorie;
}
console.log(pruefeAlter(10)); // "Kind"
console.log(pruefeAlter(16)); // "Jugendlicher"
console.log(pruefeAlter(30)); // "Erwachsener"
console.log(pruefeAlter(70)); // "Rentner"Projekt 3: Einkaufswagen-Rabatt
javascript
function berechnePreis(gesamtbetrag, istMitglied) {
let rabatt = 0;
if (gesamtbetrag >= 100) {
rabatt = 0.20; // 20% Rabatt
} else if (gesamtbetrag >= 50) {
rabatt = 0.10; // 10% Rabatt
} else if (istMitglied) {
rabatt = 0.05; // 5% Rabatt für Mitglieder
}
let endpreis = gesamtbetrag * (1 - rabatt);
return endpreis.toFixed(2);
}
console.log(berechnePreis(120, false)); // "96.00" (20% Rabatt)
console.log(berechnePreis(60, true)); // "54.00" (10% Rabatt)
console.log(berechnePreis(30, true)); // "28.50" (5% Rabatt)📝 Zusammenfassung
In diesem Kapitel haben Sie gelernt:
- ✅
if: Führt Code aus, wenn Bedingungtrueist - ✅
if...else: Zwei Möglichkeiten - ✅
if...else if: Mehrere Bedingungen prüfen - ✅
switch: Festwert-Vergleich (mitbreaknicht vergessen!) - ✅ Ternärer Operator (
? :): Kurzform für einfache Bedingungen - ✅ Praxis-Projekte: Notenbewertung, Altersprüfung, Rabattberechnung
➡️ Nächster Schritt
Im nächsten Kapitel lernen wir Schleifen (for, while, do...while) - Werkzeuge, um Code wiederholt auszuführen!
Übung:
- Schreiben Sie eine Funktion, die prüft, ob eine Zahl positiv, negativ oder null ist
- Erstellen Sie eine Noten-Bewertung mit
switch - Verwenden Sie den ternären Operator, um die größere von zwei Zahlen zu finden
- Testen Sie alle Funktionen in der Konsole
