Verzweigungen: Unterschied zwischen den Versionen

Aus FI-Wiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== Verzweigungen in Java ==
Verzweigungen in Java ermöglichen es, dass ein Programm abhängig von Bedingungen unterschiedliche Anweisungen ausführt.
Das Programm prüft eine Bedingung und führt anschließend den passenden Codeblock aus.


=== if-Anweisung ===   
== if-Anweisung ==   
Führt einen Block aus, wenn die Bedingung wahr ist.
Führt einen Block aus, wenn die Bedingung wahr ist.


Zeile 11: Zeile 12:
</syntaxhighlight>
</syntaxhighlight>


=== if-else-Anweisung ===   
== if-else-Anweisung ==   
Führt einen alternativen Block aus, wenn die Bedingung **nicht** wahr ist.
Führt einen alternativen Block aus, wenn die Bedingung '''nicht''' wahr ist.


<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
Zeile 23: Zeile 24:
</syntaxhighlight>
</syntaxhighlight>


=== if-else if-Kette ===   
== if-else if-Kette ==   
Für mehrere Bedingungen nacheinander.
Für mehrere Bedingungen nacheinander.


Zeile 39: Zeile 40:
</syntaxhighlight>
</syntaxhighlight>


=== switch-Anweisung ===   
== switch-Anweisung ==   
Geeignet für die Auswahl aus mehreren festen Werten.
Geeignet für die Auswahl aus mehreren festen Werten.


Zeile 60: Zeile 61:
</syntaxhighlight>
</syntaxhighlight>


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


Zeile 77: Zeile 78:
</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 (?:) ===   
Kurzform für einfache if-else-Ausdrücke.   
Kurzform für einfache if-else-Ausdrücke.   
Syntax: `Bedingung ? Ausdruck_wenn_true : Ausdruck_wenn_false`
Syntax: `Bedingung ? Ausdruck_wenn_true : Ausdruck_wenn_false`
Zeile 91: Zeile 88:
</syntaxhighlight>
</syntaxhighlight>


=== 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 107: Zeile 104:
</syntaxhighlight>
</syntaxhighlight>


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


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

Aktuelle Version vom 11. Januar 2026, 16:47 Uhr

Verzweigungen in Java ermöglichen es, dass ein Programm abhängig von Bedingungen unterschiedliche Anweisungen ausführt. Das Programm prüft eine Bedingung und führt anschließend den passenden Codeblock aus.

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