Kontrollstrukturen in Java

Die Kontrollstrukturen einer Programmiersprache sind absolut essentiell, denn erst mit ihnen kann man den Programmfluss steuern.
Auch wenn das Beispiel zugegebenermaßen hinkt: Aber stell Dir ein rollendes Auto vor, ohne Lenkrad, Pedale oder Handbremse. Der Fahrer hätte keinerlei Möglichkeiten auf das Fahrverhalten Einfluss zu nehmen.
Ähnlich wäre ein Programmcode ohne Kontrollstrukturen: Er würde Zeile für Zeile abgearbeitet werden, ohne dass diese Abarbeitung in irgendeiner Form kontrolliert oder gesteuert werden könnte.

Was will man kontrollieren?

Wie oben bereits erwähnt, den Programmfluss, sprich welcher Quellcode tatsächlich ausgeführt wird.
Stell Dir vor, Du programmierst eine Login-Maske (User/Passwort). Für den Fall, dass die Eingabe korrekt war, musst Du ebenso Code schreiben, wie für den Fall, dass sie eben nicht korrekt war. Es liegt auf der Hand, dass Du natürlich nicht den Code für beide Fälle ausführen lassen möchtest, sondern eben nur den, dessen Fall auch wirklich eingetreten ist. Was Du hier brauchst ist eine Entweder-Oder-Entscheidung oder wie es in der Programmierwelt heißt, ein if-else-Statement.

Oder stell Dir einen Counter vor, der von 10 auf 0 runterzählt. Das wäre ein klassisches Beispiel für eine Schleife: Diese durchläuft zehn Mal denselben Code und zwar diesen, der die Zahl um 1 dekrementiert. Sie hört erst dann damit auf, wenn die Abbruchbedingung -hier das Erreichen der 0- erfüllt wurde.

Was für Kontrollstrukturen gibt es in Java?

Genauso wie viele andere Programmiersprachen auch, kennt Java einige Kontrollstrukturen:
  • Das if-Statement:
  •   boolean guteLaune = true;
    
      // Wenn Du gut gelaunt bist, dann sag Hey!
    
      if (guteLaune == true) {
        System.out.print("Hey! ");
      }
    
      System.out.print("Weiter gehts");
    
    Da die Variable guteLaune wahr (also gleich true) ist, gibt obiger Code Hey! Weiter gehts aus.
    Setzt man guteLaune hingegen auf false, wird die if-Klammer übersprungen und lediglich Weiter gehts ausgegeben.

    Die beiden // bedeuten übrigens, dass der Text in der Zeile ein Kommentar und kein Quelltext ist.

  • Das if-else-Statement:
  •   boolean guteLaune = true;
    
      // Bist Du gut gelaunt?
    
      if (guteLaune == true) {
        System.out.print("Ja, bin ich!");
      } else {
        System.out.print("Nein, aber sicherlich bald wieder!");
      }
    
      // Weiter gehts
    
    Ist guteLaune auf true gesetzt, wird Ja, bin ich! ausgegeben.
    Ist sie auf false gesetzt, dann Nein, aber sicherlich bald wieder!.

  • Die while-Schleife:
  •   int counter = 10;
    
      while (counter > 0) {
        System.out.print(counter-- + " ");
      }
    
      System.out.print("Weiter gehts");
    
    Mit folgender Ausgabe 10 9 8 7 6 5 4 3 2 1 Weiter gehts.

  • Die do-while-Schleife (Spezialform der While-Schleife):
  •   int counter = 0;
    
      do {
        System.out.print(counter-- + " ");
      } while (counter > 0);
    
      System.out.print("Weiter gehts");
    
    Mit folgender Ausgabe 0 Weiter gehts.

  • Die for-Schleife:
  •   for (int i = 10; i > 0; i--) {
        System.out.print(i + " ");
      }
    
      System.out.print("Weiter gehts");
    
    Die Ausgabe ist diesselbe wie bei der while-Schleife.

  • Die for-each-Schleife (Spezialform der For-Schleife):
  •   List frage = Arrays.asList("Hallo ", "wie ", "gehts", "?");
    
      for (String s : frage) {
    
        System.out.print(s);
      }
    
    Mit der Ausgabe Hallo wie gehts?.

  • Das switch-Statement:
  •   char zahl = 1;
    
      switch (zahl) {
      case 1: {
    
        System.out.print("Es wurde die 1 gezogen.");
        break;
      }
      case 2: {
    
        System.out.print("Es wurde die 2 gezogen.");
        break;
      }
      default: {
    
        System.out.print("Es wurde nicht die 1 oder 2 gezogen.");
        break;
      }
      }
    
Willst Du mehr zu Syntax und Semantik der Kontrollstrukturen wissen?
Created with