Java Bedingungen: if, else und switch einfach erklärt
Aktualisiert am 22. Oktober 2026
Mit Bedingungen trifft ein Java-Programm Entscheidungen: Je nach Eingabe wird der eine oder der andere Teil ausgeführt. Ohne sie läuft es stur von oben nach unten, wie die ersten Beispiele zu Ein- und Ausgabe in Java.
if, else if, else
Hinter if steht in runden Klammern eine Bedingung. Ist sie wahr, läuft der Block in den geschweiften Klammern. Sonst geht es mit else if (nächste Bedingung) oder else (alle übrigen Fälle) weiter. Java prüft von oben nach unten und nimmt nur den ersten passenden Zweig.
Zum Vergleichen gibt es == (gleich), != (ungleich), <, <=, > und >=.
import java.util.Scanner;
public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int temperature = scanner.nextInt(); if (temperature < 0) { System.out.println("Coat and scarf!"); } else if (temperature < 15) { System.out.println("Take a jacket."); } else { System.out.println("T-shirt weather."); } }}
Eingabe12
Bei der Eingabe 12 ist temperature < 0 falsch und temperature < 15 wahr, deshalb gibt das Programm Take a jacket. aus. Bei 15 wären beide Bedingungen falsch, und das Programm würde im else landen.
Wahrheitswerte und Verknüpfungen
Eine Bedingung ist ein Wert vom Typ boolean: true oder false. Du kannst ihn in einer Variablen speichern und verknüpfen:
a && b: beides muss wahr sein (und)a || b: mindestens eines muss wahr sein (oder)!a: dreht den Wert um (nicht)
&& bindet stärker als ||. Setz im Zweifel Klammern, dann ist es auch beim Lesen klar.
Texte vergleichst du mit equals, nicht mit ==: command.equals("stop"). Mehr dazu steht im Artikel über Strings in Java.
public class Main { public static void main(String[] args) { int hour = 14; boolean weekend = false; boolean holiday = true;
boolean openingHours = hour >= 9 && hour < 18; boolean open = openingHours && !(weekend || holiday); System.out.println("Opening hours: " + openingHours); System.out.println("Library open: " + open);
String command = "stop"; System.out.println(command.equals("stop")); }}switch
Prüfst du eine Variable gegen mehrere feste Werte, ist switch übersichtlicher als eine lange else if-Kette. Jeder Fall steht hinter case, nach dem Pfeil -> kommt, was passieren soll. Mehrere Werte trennst du mit Komma. default deckt alle übrigen Werte ab. switch funktioniert mit ganzen Zahlen, mit Texten und mit Enums in Java.
Ein switch kann auch einen Wert liefern (Switch-Ausdruck). Dann steht er rechts vom = oder hinter return, endet mit einem Semikolon und braucht für jeden möglichen Wert einen Fall, meist über default.
import java.util.Scanner;
public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String day = scanner.nextLine(); switch (day) { case "Saturday", "Sunday" -> System.out.println("Weekend!"); case "Friday" -> System.out.println("Almost weekend."); default -> System.out.println("Lectures."); }
int month = 4; String season = switch (month) { case 12, 1, 2 -> "winter"; case 3, 4, 5 -> "spring"; case 6, 7, 8 -> "summer"; default -> "autumn"; }; System.out.println("Month " + month + " is in " + season + "."); }}
EingabeFriday
Typische Fehler
= statt ==
=weist einen Wert zu,==vergleicht.if (age = 18)meldet der Compiler mitincompatible types: int cannot be converted to boolean.Texte mit == vergleichen
==prüft bei Texten, ob es dasselbe Objekt ist, nicht ob die Buchstaben gleich sind. Mit eingelesenen Texten ist das oftfalse, obwohl sie gleich aussehen. Immerequalsbenutzen:if (answer.equals("yes")) { ... }Semikolon hinter if
if (x > 10);ist eine Bedingung mit leerer Anweisung. Der Block danach läuft dann immer. Hinter die runde Klammer gehört direkt die geschweifte.Falsche Reihenfolge
Bei
else ifgewinnt der erste passende Zweig. Stehtif (points >= 50)vorelse if (points >= 90), wird der zweite Zweig nie erreicht. Prüfe die engere Bedingung zuerst.default fehlt im Switch-Ausdruck
Liefert ein
switcheinen Wert, muss jeder mögliche Wert abgedeckt sein. Ohnedefaultmeldet der Compilerthe switch expression does not cover all possible input values.
Aufgaben zu diesem Thema
Übe das Gelernte direkt im Browser. Tests prüfen deine Lösung sofort.
Verwandte Artikel
- SchleifenJava Schleifen einfach erklärt: for, while, do-while, break und continue mit Beispielen. Plus die typischen Fehler, die in Klausuren Punkte kosten.Zum Artikel
- Ein- und AusgabeJava Ein- und Ausgabe einfach erklärt: Werte mit println und printf ausgeben, Zahlen mit Scanner einlesen. Mit Beispielen und typischen Fehlern.Zum Artikel
- StringsJava Strings einfach erklärt: substring, charAt, split, equals und StringBuilder mit Beispielen. Plus typische Fehler wie der Vergleich mit ==.Zum Artikel