1. java-hell.de
  2. Themen
  3. If-Else
Thema 3 von 11

Java If-Else lernen – Bedingungen üben

Ab hier trifft dein Programm Entscheidungen. Mit if, else und else if reagierst du auf Werte, mit Vergleichsoperatoren prüfst du, was Sache ist.

Die Übungen

Das lernst du in diesem Thema

  1. Dein erstes If
  2. If-Else
  3. Vergleichen
  4. Else-If
Übung 1 von 4

Dein erstes If

Mit if führst du Code nur aus, wenn eine Bedingung stimmt:

if (alter >= 18) {
    IO.println("Erwachsen");
}

Der Code prüft ob zahl größer als 10 ist. Ändere zahl, damit der Text ausgegeben wird.

Startcode
void main() {
    int zahl = 5;

    if (zahl > 10) {
        IO.println("Groesser als 10!");
    }
}
Hintergrund
Wie der Compiler Bedingungen verarbeitet

Ein if wird im Bytecode zu einem bedingten Sprung (conditional jump). Die CPU prüft einen Vergleich und springt entweder zum "dann"-Block oder überspringt ihn.

Moderne CPUs haben Branch Prediction — sie raten, welcher Zweig wahrscheinlicher ist, und bereiten den Code schon vor. Liegt die CPU falsch, wird das rückgängig gemacht (Pipeline Flush).

Übung 2 von 4

If-Else

Mit else sagst du was passieren soll, wenn die Bedingung nicht stimmt:

if (bedingung) {
    // wenn true
} else {
    // wenn false
}

Die println-Zeilen sind schon da. Ergänze nur die Bedingung im if: Prüfe ob temperatur größer oder gleich 20 ist.

Startcode
void main() {
    int temperatur = 22;

    if (???) {
        IO.println("Warm");
    } else {
        IO.println("Kalt");
    }
}
Hintergrund
Ternärer Operator — die if-else-Kurzform

Java hat eine Einzeiler-Variante von if-else: ergebnis = bedingung ? wennTrue : wennFalse;

Beispiel: String s = temperatur >= 20 ? "Warm" : "Kalt"; — macht genau das Gleiche wie der if-else-Block hier, nur kompakter.

Übung 3 von 4

Vergleichen

Java hat diese Vergleichs-Operatoren:

  • == gleich
  • != ungleich
  • < kleiner
  • > größer
  • <= kleiner oder gleich
  • >= größer oder gleich

Achtung: Gleich-Prüfung ist == (doppelt!), nicht = (das ist Zuweisung).

Ergänze die Bedingung: Prüfe ob passwort den Wert 1234 hat.

Startcode
void main() {
    int passwort = 1234;

    if (???) {
        IO.println("Zugang erlaubt");
    } else {
        IO.println("Falsches Passwort");
    }
}
Hintergrund
== vs. .equals() — die wichtigste Java-Falle

Bei primitiven Typen (int, double, boolean) vergleicht == die Werte — das ist korrekt.

Bei Objekten (String, Arrays, eigene Klassen) vergleicht == die Referenz (ist es dasselbe Objekt im Speicher?), nicht den Inhalt! Für Strings und die meisten Objekte brauchst du .equals(). Arrays sind ein Sonderfall: Ihr .equals() vergleicht ebenfalls nur die Referenz — nimm stattdessen Arrays.equals(). Das ist einer der häufigsten Anfängerfehler in Java.

Übung 4 von 4

Else-If

Für mehrere Bedingungen nutzt du else if:

if (note == 1) {
    // ...
} else if (note == 2) {
    // ...
} else {
    // alles andere
}

Ergänze den fehlenden else if-Block: Wenn note gleich 2 ist, gib Gut aus.

Startcode
void main() {
    int note = 2;

    if (note == 1) {
        IO.println("Sehr gut");
    // Ergaenze hier: else if note == 2 -> "Gut"
    } else {
        IO.println("Nicht schlecht");
    }
}
Hintergrund
Else-If-Ketten vs. Switch

Lange else if-Ketten werden schnell unübersichtlich. Ab ~4 Fällen ist switch oft besser lesbar. Ab Java 14 gibt es sogar Switch Expressions mit Pfeil-Syntax: case 1 -> "Sehr gut";

Der Compiler (javac) übersetzt einen Switch in eine Sprungtabelle (die Bytecode-Befehle tableswitch / lookupswitch) — bei vielen Fällen ist ein Switch daher meist auch schneller als eine lange if-else-Kette.

Genug gelesen. Jetzt du.

Im Tutorial schreibst du den Code selbst, drückst auf Ausführen und siehst sofort, ob dein Programm stimmt. Kein JDK, keine IDE, kein Bullshit.

If-Else im Browser üben