SemaTrain Logo Ein Fachportal von SemaTrain

Operatoren & Kontrollfluss

Sie steuern Programmlogik: Vergleiche, Bedingungen und Schleifen – klar und kursnah im SemaTrain-Kontext.

Hinweis: Beispiele arbeiten mit Beispieldaten (didaktisch, nicht verbindlich).

Java Grundlagen Schulung – Kursbezug

Dieses Kapitel ist Teil des Lernpfads zur Java Grundlagen Schulung. Termine & Buchung laufen über SemaTrain.de.

Hinweis: Beispiele sind generisch und nutzen Beispieldaten.

Ziel dieses Kapitels: Sie formulieren Bedingungen sauber, treffen Entscheidungen mit if/switch und setzen Wiederholungen mit Schleifen um – ohne unnötige Verschachtelung.

Worum geht’s?

Lehr-Lernziele

Nach diesem Kapitel können Sie …

Wie Sie die Ziele erreichen: Beispiele zeigen Operatoren/Entscheidungen/Schleifen im Kurskontext. Das Quiz prüft LZ1–LZ4. Das Mini-Projekt zwingt Sie, Regeln als Bedingungen zu formulieren (LZ1–LZ3) und einen Tagesplan zu iterieren (LZ4).

Operatoren – die wichtigsten in der Praxis

Merksatz: Vergleiche liefern boolean. Logik verknüpft Bedingungen.

Beispiel: Vergleiche & logische Operatoren (LZ1) (Java)
public class OperatorenKurz {
  public static void main(String[] args) {

    int dauerTage = 3;
    double preis = 1490.00;

    boolean lang = dauerTage >= 3;         // Vergleich
    boolean teuer = preis > 1200.0;        // Vergleich

    boolean premium = lang && teuer;       // UND
    boolean special = lang || teuer;       // ODER
    boolean nichtLang = !lang;             // NICHT

    System.out.println("lang: " + lang);
    System.out.println("teuer: " + teuer);
    System.out.println("premium: " + premium);
    System.out.println("special: " + special);
    System.out.println("nichtLang: " + nichtLang);
  }
}

if / else – Entscheidungen treffen

Typisch: Format (Online/Präsenz) bestimmt Ort, Hinweise oder Textausgabe.

Beispiel: if/else mit Format & Regel (LZ1 + LZ2) (Java)
public class IfElseBeispiel {
  public static void main(String[] args) {

    String format = "Online";  // "Online" oder "Praesenz"
    String ort = "Hamburg";
    double preis = 1490.00;

    boolean istOnline = format.equals("Online");

    if (istOnline) {
      System.out.println("Format: Online | Ort: remote");
      System.out.println("Hinweis: Technik-Check vorab empfohlen.");
    } else {
      System.out.println("Format: Praesenz | Ort: " + ort);
    }

    // Beispiel: einfache Regel
    if (preis >= 1500.0) {
      System.out.println("Rabatt: 5% (Beispielregel)");
    } else {
      System.out.println("Rabatt: 0%");
    }
  }
}

switch – klare Fälle statt verschachteltes if

Gut, wenn Sie viele eindeutige Werte haben (z.B. Level, Modus, Standort-Code).

Beispiel: switch über Kurslevel (LZ3) (Java)
public class SwitchBeispiel {
  public static void main(String[] args) {

    char level = 'G'; // G = Grundlagen, F = Fortgeschritten

    switch (level) {
      case 'G':
        System.out.println("Level: Grundlagen – Einstieg & Fundament");
        break;
      case 'F':
        System.out.println("Level: Fortgeschritten – Vertiefung & Praxis");
        break;
      default:
        System.out.println("Level: unbekannt – bitte prüfen");
    }
  }
}

Schleifen – Wiederholung kontrolliert einsetzen

for (Zähl-Schleife)

for: Zählen (Tag 1..3) (LZ4) (Java)
public class ForBeispiel {
  public static void main(String[] args) {
    // Beispiel: Tage zählen
    for (int tag = 1; tag <= 3; tag++) {
      System.out.println("Tag " + tag + ": Inhalte bearbeiten");
    }
  }
}

while (solange Bedingung true)

while: Countdown (3..0) (LZ4) (Java)
public class WhileBeispiel {
  public static void main(String[] args) {
    int rest = 3;

    while (rest > 0) {
      System.out.println("Noch offene Übungen: " + rest);
      rest--;
    }
    System.out.println("Fertig.");
  }
}

Praxisaufgabe (Mini)

Sie bauen eine kleine Logik für eine Kursausgabe: Entscheidungen + Wiederholung.

Beitrag zu den Lehr-Lernzielen: LZ1 (Bedingungen/Operatoren), LZ2 (if/else), LZ4 (for), optional LZ3 (switch) im Mini-Projekt unten.

  1. (LZ1) Variablen: String kursName, String format, String ort, int dauerTage, double preis.
  2. (LZ2) if/else: Wenn Online → Ort „remote“, sonst Ort ausgeben.
  3. (LZ4) for: Geben Sie pro Tag eine Zeile aus: „Tag X: …“
  4. (Bonus, LZ1) Wenn dauerTage >= 3 und Online → 10% Rabatt berechnen.
Lösung anzeigen
Lösung: if/else + Schleife + Rabatt (LZ1/LZ2/LZ4, Beispiel) (Java)
public class KursLogikPraxis {
  public static void main(String[] args) {

    String kursName = "Java Grundlagen Schulung";
    String format = "Online";   // "Online" oder "Praesenz"
    String ort = "Hamburg";
    int dauerTage = 3;
    double preis = 1490.00;

    boolean istOnline = format.equals("Online");

    // Ort je Format (LZ2)
    String ausgabeOrt = istOnline ? "remote" : ort;

    // Bonus: Rabattregel (LZ1)
    double rabatt = (istOnline && dauerTage >= 3) ? 0.10 : 0.0;
    double endpreis = preis * (1 - rabatt);

    System.out.println("Kurs: " + kursName);
    System.out.println("Format: " + (istOnline ? "Online" : "Praesenz") + " | Ort: " + ausgabeOrt);
    System.out.println("Dauer: " + dauerTage + " Tage" + " | Preis (Beispiel): " + endpreis + " €");

    // Tagesausgabe (LZ4)
    for (int tag = 1; tag <= dauerTage; tag++) {
      System.out.println("Tag " + tag + ": Inhalte & Übungen");
    }
  }
}
Optional: typische Stolperfallen (LZ1–LZ3)
  • String-Vergleich: format.equals(\"Online\") statt format == \"Online\"
  • Zu viel Verschachtelung: lieber Hilfsvariablen (istOnline, ausgabeOrt)
  • break vergessen: in klassischen switch-Fällen führt das zu „Fall-Through“

Kurz-Takeaways

Quiz: Operatoren & Kontrollfluss

1. Wofür steht der Operator && ? (LZ1)

2. Welche Aussage ist korrekt? (LZ2)

3. Wozu dient break im switch? (LZ3)

4. Welche Schleife eignet sich am besten für „Tag 1 bis Tag N“? (LZ4)

Praxisaufgabe

Mini-Projekt: Kurs-Entscheider (Format, Level, Rabatt, Tagesplan)

Sie bauen eine Konsolenlogik, die auf Kursdaten reagiert: Entscheidungen, Regeln und Wiederholung.

Beitrag zu den Lehr-Lernzielen:
LZ1 (Bedingungen/Operatoren), LZ2 (if/else), LZ3 (switch + break/default), LZ4 (for-Schleife für Tagesplan).

Aufgabe

Hinweis: Werte sind Beispielwerte – Fokus liegt auf Logik, nicht auf echten Preisen.

Lösung anzeigen
Lösung: Kurs-Entscheider (LZ1–LZ4) (Java)
public class KursEntscheider {
  public static void main(String[] args) {

    // Kursdaten (Beispiel) (LZ1)
    String kursName = "Java Grundlagen Schulung";
    String format = "Online";  // "Online" oder "Praesenz"
    String ort = "Hamburg";
    int dauerTage = 3;
    double preis = 1490.00;

    // Level (LZ3)
    char level = 'G'; // G oder F

    // if/else-Vorbereitung (LZ2)
    boolean istOnline = format.equals("Online");
    String ausgabeOrt = istOnline ? "remote" : ort;

    // switch: Leveltext (LZ3)
    String levelText;
    switch (level) {
      case 'G': levelText = "Grundlagen"; break;
      case 'F': levelText = "Fortgeschritten"; break;
      default:  levelText = "unbekannt";
    }

    // Bonus: Rabattregel (LZ1)
    double rabatt = (istOnline && dauerTage >= 3) ? 0.10 : 0.0;
    double endpreis = preis * (1 - rabatt);

    // Ausgabe (LZ2)
    System.out.println("Kurs: " + kursName + " | Level: " + levelText);
    System.out.println("Format: " + (istOnline ? "Online" : "Praesenz") + " | Ort: " + ausgabeOrt);
    System.out.println("Dauer: " + dauerTage + " Tage" + " | Preis (Beispiel): " + endpreis + " €");

    // Tagesplan (LZ4)
    for (int tag = 1; tag <= dauerTage; tag++) {
      System.out.println("Tag " + tag + ": Inhalt + Übungen");
    }
  }
}