Kontrollstrukturen in Java

1. Übersicht

Im einfachsten Sinne ist ein Programm eine Liste von Anweisungen. Kontrollstrukturen sind Programmierblöcke, die den Weg ändern können, den wir durch diese Anweisungen gehen.

In diesem Tutorial werden wir Kontrollstrukturen in Java untersuchen.

Es gibt drei Arten von Kontrollstrukturen:

  • Bedingte Zweige, die wir zur Auswahl zwischen zwei oder mehr Pfaden verwenden. In Java gibt es drei Typen: if / else / else if , ternärer Operator und switch .
  • Schleifen, mit denen mehrere Werte / Objekte durchlaufen und bestimmte Codeblöcke wiederholt ausgeführt werden. Die grundlegenden Schleifentypen in Java sind für , while und do while .
  • Verzweigungsanweisungen, mit denen der Steuerungsfluss in Schleifen geändert wird. In Java gibt es zwei Arten: break und continue .

2. If / Else / Else If

Die if / else- Anweisung ist die grundlegendste Kontrollstruktur, kann aber auch als Grundlage für die Entscheidungsfindung bei der Programmierung angesehen werden.

Während if für sich allein verwendet werden kann, besteht das häufigste Verwendungsszenario darin, zwischen zwei Pfaden mit if / else zu wählen :

if (count > 2) { System.out.println("Count is higher than 2"); } else { System.out.println("Count is lower or equal than 2"); }

Theoretisch können wir unendlich verketten oder verschachteln, wenn / else blockiert, aber dies beeinträchtigt die Lesbarkeit des Codes, und deshalb wird dies nicht empfohlen.

Wir werden im Rest dieses Artikels alternative Aussagen untersuchen.

3. Ternärer Operator

Wir können einen ternären Operator als Kurzausdruck verwenden, der wie eine if / else- Anweisung funktioniert .

Sehen wir uns unser if / else- Beispiel noch einmal an:

if (count > 2) { System.out.println("Count is higher than 2"); } else { System.out.println("Count is lower or equal than 2"); }

Wir können dies mit einem ternären wie folgt umgestalten:

System.out.println(count > 2 ? "Count is higher than 2" : "Count is lower or equal than 2");

Ternär kann zwar eine gute Möglichkeit sein, unseren Code besser lesbar zu machen, ist jedoch nicht immer ein guter Ersatz für if / else.

4. Wechseln

Wenn wir mehrere Fälle zur Auswahl haben, können wir eine switch- Anweisung verwenden.

Sehen wir uns noch einmal ein einfaches Beispiel an:

int count = 3; switch (count) { case 0: System.out.println("Count is equal to 0"); break; case 1: System.out.println("Count is equal to 1"); break; default: System.out.println("Count is either negative, or higher than 1"); break; }

Drei oder mehr if / else- Anweisungen können schwer zu lesen sein. Als eine der möglichen Problemumgehungen können wir den Schalter verwenden, wie oben gezeigt.

Beachten Sie auch, dass der Switch Einschränkungen hinsichtlich Umfang und Eingabe aufweist, die wir vor der Verwendung beachten müssen.

5. Schleifen

Wir verwenden Schleifen, wenn wir denselben Code mehrmals hintereinander wiederholen müssen.

Sehen wir uns ein kurzes Beispiel für vergleichbare for- und while- Schleifentypen an:

for (int i = 1; i <= 50; i++) { methodToRepeat(); } int whileCounter = 1; while (whileCounter <= 50) { methodToRepeat(); whileCounter++; } 

Beide obigen Codeblöcke rufen methodToRepeat 50 Mal auf.

6. Pause

Wir müssen break verwenden , um eine Schleife vorzeitig zu verlassen.

Sehen wir uns ein kurzes Beispiel an:

List names = getNameList(); String name = "John Doe"; int index = 0; for ( ; index < names.length; index++) { if (names[index].equals(name)) { break; } }

Hier suchen wir nach einem Namen in einer Liste von Namen, und wir möchten aufhören zu suchen, sobald wir ihn gefunden haben.

Eine Schleife würde normalerweise zu Ende gehen, aber wir haben break hier verwendet, um dies kurzzuschließen und vorzeitig zu beenden.

7. Fahren Sie fort

Einfach ausgedrückt, weiterhin Mittel , um den Rest der Schleife zu überspringen , in der wir sind:

List names = getNameList(); String name = "John Doe"; String list = ""; for (int i = 0; i < names.length; i++) { if (names[i].equals(name)) { continue; } list += names[i]; }

Hier überspringen wir das Anhängen der doppelten Namen an die Liste.

Wie wir hier gesehen haben, kann break and continue beim Iterieren nützlich sein, obwohl sie häufig mit return- Anweisungen oder einer anderen Logik neu geschrieben werden können.

8. Fazit

In diesem kurzen Artikel haben wir gelernt, was Kontrollstrukturen sind und wie sie zur Verwaltung der Flusskontrolle in unseren Java-Programmen verwendet werden.

Der gesamte in diesem Artikel vorgestellte Code ist auf GitHub verfügbar.