Java Tutorial Teil 6 – Schleifen

Wie beim letzten Teil des Tutorials schon angekündigt, geht es dieses Mal um Schleifen. Durch diese werden Teile des Programms mehrmals durchlaufen.

while-Schleifen

While-Schleifen sind die simpelsten Schleifen bei Java und bedeuten von der Intuition her: „Solange … gilt, soll … passieren„. Die Syntax sieht wie folgt aus:

BEDINGUNG muss hierbei zu einem booleschen Wert ausgewertet werden können. Die Bedingung wird immer am Anfang jedes Schleifendurchlaufs geprüft. Ist sie erfüllt, werden die Aktionen in der Schleife noch einmal ausgeführt. Das passiert so lange, bis BEDINGUNG zu false ausgewertet wird.

Das folgende Beispiel benutzt eine while-Schleife, um alle Teiler der Zahl 951232 auszugeben. Dazu wird eine Hilfsvariable i angelegt, die am Ende jedes Schleifendurchlaufs inkrementiert wird (Zeile 8). Falls (zahl % i == 0) gilt (Zeile 6), falls also der ganzzahlige Rest von zahl / i gleich 0 ist, ist zahl durch i teilbar und somit wird i ausgegeben (Zeile 7). Die Schleife läuft so lange, bis i nicht mehr kleiner als zahl ist (Zeile 5).

do-while-Schleifen

Do-while-Schleifen funktionieren fast genauso wie while-Schleifen, jedoch mit einem Unterschied: Die Bedingung wird erst am Ende des Schleifendurchlaufs geprüft. Das bewirkt, dass eine do-while-Schleife immer mindestens einmal ausgeführt wird, was durchaus sinnvoll sein kann. Möchte man beispielsweise einen Benutzer-Login programmieren, soll der Benutzer immer mindestens einmal nach seinem Passwort gefragt werden und evtl. mehrmals, falls er es falsch eingegeben hat.

Bei der Syntax einer do-while-Schleife ist besonders hervorzuheben, dass am Ende ein Semikolon steht.

Das untere Beispiel zeigt, wie eine do-while-Schleife benutzt wird, um das Werfen eines Würfels darzustellen.

Bei diesem Beispiel ist eine do-while-Schleife sinnvoll, weil der Würfel mindestens einmal geworfen werden soll. Der Würfel wird so oft geworfen (die Schleife wird wiederholt), bis er 1 oder 6 zeigt (Zeile 7). Das Werfen des Würfels funktioniert, indem der Variable wuerfel eine Zufallszahl von 1 bis 6 zugeordnet wird. Ohne jetzt schon groß darauf einzugehen, sei gesagt, dass der Befehl (int)(Math.random()*6+1) diese int-Zufallszahl erzeugt (Zeile 5). Allgemein erzeugt (int)(Math.random()*n+m) eine Zufallszahl von m bis n+m-1.

for-Schleifen

Die letzte Schleifenart sind die for-Schleifen. For-Schleifen benutzt man zum Beispiel dann, wenn schon vor dem Anfang der Schleife klar ist, wie oft sie durchlaufen wird. Die Allgemeine Syntax ist so:

AKTION1 und AKTION2 sind einzelne Befehle. Innerhalb der Schleife können natürlich mehrere Befehle stehen. Die Schleife läuft so lange, bis BEDINGUNG nicht mehr erfüllt ist.

Meistens werden for-Schleifen so verwendet: Bei AKTION1 wird eine Variable angelegt, z.B. int i=0, bei AKTION2 wird die Variable inkrementiert oder dekrementiert, z.B. i++ und bei BEDINGUNG wird geprüft, ob die Variable einen bestimmten Wert schon erreicht hat, z.B. i<5.

Diese Schleife würde fünfmal durchlaufen werden und dabei die Zahlen von 0 bis 4 ausgeben.

Hier noch ein etwas komplexeres Beispiel, die Suche nach dem größten gemeinsamen Teiler von zwei Zahlen:

Bei dem Beispiel werden zwei Zahlen angelegt (Zeile 3 und 4) und die kleinere von beiden unter min gespeichert (Zeile 5). Die for-Schleife beginnt mit dem Wert i=min-1 und läuft so lange, bis i gleich 1 ist. Die if-Abfrage in der for-Schleife prüft, ob der Rest der Division von a mit i und b mit i gleich 0 ist, ob also a und b durch i teilbar sind. Ist das der Fall, wird die Zahl ausgegeben und die Schleife beendet. Das Beenden der Schleife bewirkt der Befehl break; in Zeile 9.

break

break; kann alle Arten von Schleifen beenden, aber auch switch-Anweisungen, wie im letzten Teil des Tutorials gezeigt. Schachtelt man Schleifen, wird durch ein break; in der innersten Schleife auch nur diese beendet.

Weiter zu Teil 7 – Textausgaben und Benutzereingaben

Zur Übersicht von allen Teilen des Tutorials

Vielleicht gefällt dir auch...

3 Antworten

  1. 30. April 2015

    […] Schleifen: Hier geht es um Schleifen, mit deren Hilfe Teile des Programms wiederholt werden. […]

  2. 30. April 2015

    […] Weiter zu Teil 6 – Schleifen […]

  3. 13. Mai 2015

    […] letzten Teil des Tutorials ging es um Schleifen. Wie dort erklärt, könnten diese genutzt werden, um den Nutzer bei […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.