Schleifen (Pause und Rückkehr, Fortfahren, Beschriftungen) – 1

„Hallo, Amigo!“

„Heute erzähle ich Ihnen einige Dinge, die beim Arbeiten mit Schleifen praktisch sind.“

„Das erste ist das Schlüsselwort break . Wenn Sie diesen Befehl im Hauptteil einer Schleife verwenden, wird die Schleife sofort beendet, wenn der Befehl ausgeführt wird. Hier ist ein Beispiel:“

Beispiel Ausgang:
for (int i = 0; i < 10; i++)
{
System.out.println(i);
if (i > 5)
break;
}
0
1
2
3
4
5

„Kann break nur in einer Schleife verwendet werden?“

„Ja. Die Break-Anweisung kann nur in einer Schleife verwendet werden. Wenn eine Break-Anweisung ausgeführt wird, wird die Schleife sofort beendet.“

"OK habe es."

„Großartig. Das Zweite, was ich jetzt teilen möchte, ist das Schlüsselwort continue. Es kann auch nur in einer Schleife verwendet werden. Wenn dieser Befehl ausgeführt wird, beginnt sofort eine neue Iteration der Schleife. Mit anderen Worten, jeder verbleibende Code in der Der Schleifenkörper wird einfach übersprungen.

„Hier ist ein Beispiel:“

Beispiel Ausgang:
for (int i = 0; i < 10; i++)
{
if (i % 2 == 0)
continue;
System.out.println(i);
}
1
3
5
7
9

„Sobald das Programm also einen Fortsetzungsbefehl in einer Schleife erreicht, stoppt es die Ausführung des Codes in der Schleife?“

„Nein. Sehen Sie, wir haben eine Schleife, wenn wir denselben Code mehrmals ausführen. Im obigen Beispiel haben wir eine Schleife von 0 bis 9, d. h. der Schleifenkörper wird zehnmal ausgeführt. Richtig?“

"Ja."

„Ein Durchgang durch den Schleifenkörper wird als Iteration bezeichnet. Unsere Schleife besteht aus 10 Iterationen – der Schleifenkörper wird zehnmal ausgeführt.“

„Ja, das ist klar.“

„Der continue- Befehl beendet die aktuelle Iteration vorzeitig, d. h. der verbleibende Code innerhalb der Schleife wird übersprungen und eine neue Iteration beginnt.“

„Hier ist ein weiteres Beispiel:“

Beispiel
ArrayList list = new ArrayList();
for (Object o: list)
{
if (o == null) continue;
System.out.println(o.toString());
}

„In diesem Beispiel zeigen wir eine Zeichenfolgendarstellung aller Objekte in der Liste an. Wir überspringen jedoch alle Objekte, die null sind.“

„Okay, verstanden. Ich kann sehen, wie praktisch das ist.“

„Ja. Ich möchte Ihnen auch etwas über Labels erzählen. Sie werden in Java selten verwendet, weil sie oft die Schönheit der Logik eines Programms verletzen. Aber irgendwann werden Sie vielleicht im Code auf sie stoßen. Deshalb möchte ich Ihnen lieber davon erzählen.“ als wenn man auf dem Spielplatz von ihnen gehört hat.

„Es gab einmal eine Zeit, in der es erlaubt war, im Code von einer beliebigen Zeile zur anderen zu springen. Wir haben dies mit Labels und der goto-Anweisung gemacht. So sieht es aus:“

Schrecklicher Code mit Etiketten
System.out.println("Make cookies,");
label: System.out.println("not");
System.out.println("war");
goto label;

„In diesem Beispiel springt das Programm nach der Ausführung des Befehls „ goto label“ zu der mit „ label“ gekennzeichneten Zeile .

„Später wurde es allen klar und beschlossen, die goto- Anweisung nicht zu verwenden. Java unterstützt goto nicht, aber goto ist ein reserviertes Wort. Keine große Sache…“

„Also kein Gehe zu und keine Beschriftungen in Java?“

„Es gibt keine Goto-Anweisung, aber es gibt Beschriftungen!“

"Wie kann das sein?"

„In Java können Beschriftungen mit den Befehlen continue und break verwendet werden. Sie werden verwendet, wenn Sie viele verschachtelte Schleifen haben.“

„Angenommen, Sie haben 5 verschachtelte Schleifen und wenn eine Bedingung erfüllt ist, möchten Sie aus drei davon herauskommen, aber nicht aus allen. Etiketten sind eine elegante Möglichkeit, dies zu tun:“

Beispiel
label1: for (int i = 0; i < 10; i++)
 label2: for (int j = 0; j < 10; j++)
  label3: for (int k =0; k < 10; k++)
   if (i == j && j == k)
    break label2;

„Wenn in diesem Beispiel die Break-Anweisung ausgeführt wird, verlassen wir nicht die Schleife mit der Variablen k, sondern die Schleife mit der Bezeichnung label2 – d. h. wir verlassen sofort die beiden Schleifen mit k und j.“

„Wie oft wird das verwendet?“

„Um ehrlich zu sein, nicht oft, aber man weiß ja nie. Vielleicht sieht man es irgendwann. Das sind Syntaxgrundlagen – das muss man alles wissen!“

„Okay. Danke, Bilaabo.“