Verzweigungen: Unterschied zwischen den Versionen

Aus FI-Wiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 76: Zeile 76:
}
}
</syntaxhighlight>
</syntaxhighlight>
Sehr gerne! Hier ist die **Ergänzung zu den Verzweigungen in Java** im **MediaWiki-Format**, diesmal mit dem **ternären Operator** und der **neuen `switch`-Expression** (ab Java 14):


=== Ternärer Operator (?:) ===   
=== Ternärer Operator (?:) ===   
Zeile 91: Zeile 89:
=== Neue switch-Expression (ab Java 14) ===   
=== Neue switch-Expression (ab Java 14) ===   
Erlaubt kompaktere und ausdrucksstärkere Schreibweise.   
Erlaubt kompaktere und ausdrucksstärkere Schreibweise.   
Nutzen von **`->`**, **mehreren Labels**, und **`yield`**.
Nutzen von `->`, mehreren Labels, und `yield`.


<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
Zeile 105: Zeile 103:
</syntaxhighlight>
</syntaxhighlight>


Oder mit **Block und `yield`**:
Oder mit Block und `yield`:


<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
Zeile 119: Zeile 117:
System.out.println(zeit);
System.out.println(zeit);
</syntaxhighlight>
</syntaxhighlight>
[[Kategorie:Programmieren]]
[[Kategorie:Semester1]]

Aktuelle Version vom 23. April 2025, 14:22 Uhr

Verzweigungen in Java

if-Anweisung

Führt einen Block aus, wenn die Bedingung wahr ist.

int zahl = 10;
if (zahl > 0) {
    System.out.println("Die Zahl ist positiv.");
}

if-else-Anweisung

Führt einen alternativen Block aus, wenn die Bedingung **nicht** wahr ist.

int zahl = -5;
if (zahl >= 0) {
    System.out.println("Die Zahl ist positiv oder null.");
} else {
    System.out.println("Die Zahl ist negativ.");
}

if-else if-Kette

Für mehrere Bedingungen nacheinander.

int note = 3;
if (note == 1) {
    System.out.println("Sehr gut");
} else if (note == 2) {
    System.out.println("Gut");
} else if (note == 3) {
    System.out.println("Befriedigend");
} else {
    System.out.println("Andere Note");
}

switch-Anweisung

Geeignet für die Auswahl aus mehreren festen Werten.

int tag = 3;
switch (tag) {
    case 1:
        System.out.println("Montag");
        break;
    case 2:
        System.out.println("Dienstag");
        break;
    case 3:
        System.out.println("Mittwoch");
        break;
    default:
        System.out.println("Ein anderer Tag");
        break;
}

switch mit String

Seit Java 7 auch mit `String` möglich.

String farbe = "blau";
switch (farbe) {
    case "rot":
        System.out.println("Farbe ist rot");
        break;
    case "blau":
        System.out.println("Farbe ist blau");
        break;
    default:
        System.out.println("Unbekannte Farbe");
}

Ternärer Operator (?:)

Kurzform für einfache if-else-Ausdrücke. Syntax: `Bedingung ? Ausdruck_wenn_true : Ausdruck_wenn_false`

int zahl = 5;
String ergebnis = (zahl % 2 == 0) ? "Gerade" : "Ungerade";
System.out.println(ergebnis);

Neue switch-Expression (ab Java 14)

Erlaubt kompaktere und ausdrucksstärkere Schreibweise. Nutzen von `->`, mehreren Labels, und `yield`.

int tag = 2;
String wochentag = switch (tag) {
    case 1 -> "Montag";
    case 2 -> "Dienstag";
    case 3 -> "Mittwoch";
    case 4, 5 -> "Donnerstag oder Freitag";
    default -> "Wochenende";
};
System.out.println(wochentag);

Oder mit Block und `yield`:

int stunde = 14;
String zeit = switch (stunde) {
    case 6, 7, 8, 9 -> "Morgen";
    case 12, 13, 14 -> {
        System.out.println("Mittagspause!");
        yield "Mittag";
    }
    default -> "Andere Tageszeit";
};
System.out.println(zeit);