Fußgesteuerte Schleife: Unterschied zwischen den Versionen

Aus EINI
Wechseln zu: Navigation, Suche
 
(8 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 10: Zeile 10:
  
 
[[Datei:do_statement.png]]
 
[[Datei:do_statement.png]]
 +
 +
== Verwendung ==
 +
 +
Fußgesteuerte Schleifen finden recht selten Verwendung. Wenn, dann aufgrund ihrer definierenden Eigenschaft: Sie soll immer mindestens ein Mal ausgeführt werden. Dies dient meistens dazu, in einer fußgesteuerten Schleife gesetzte Werte garantiert zu initialisieren und ein Ergebnis liefern zu können, auch wenn die Bedingung zum Sprung zurück zum Schleifenkopf potentiell nie erfüllt wird. Das beste Beispiel dafür sind Listendurchläufe.
  
 
== Aufbau der do-while-Schleife ==
 
== Aufbau der do-while-Schleife ==
  
Die do-while-Schleife beginnt mit dem Schlüsselwort '''do'''. Danach folgt der auszuführende Code in geschweiften Klammern. Auf den Code folgen das Schlüsselwort '''while''' und die Eintrittsbedingung in runden Klammern.  
+
Die do-while-Schleife beginnt mit dem Schlüsselwort '''do'''. Danach folgt der auszuführende Code, meist innerhalb eines [[Block]]s. Auf den Block folgen das Schlüsselwort '''while''' und die Wiederholungsbedingung in runden Klammern.  
  
 
Anders als in der while-Schleife wird hier der Programmcode '''mindestens ein Mal''' ausgeführt, da erst nachdem der Code ausgeführt wurde, also am Fuß der Schleife, überprüft wird, ob die Bedingung erfüllt ist oder nicht.  
 
Anders als in der while-Schleife wird hier der Programmcode '''mindestens ein Mal''' ausgeführt, da erst nachdem der Code ausgeführt wurde, also am Fuß der Schleife, überprüft wird, ob die Bedingung erfüllt ist oder nicht.  
Zeile 21: Zeile 25:
 
  } '''while''' (''Bedingung'')
 
  } '''while''' (''Bedingung'')
  
== Beispiel: ==
+
== Beispiel ==
 
<source lang="java">
 
<source lang="java">
 +
int i = 0;
 
do{
 
do{
erg = erg + 5;
+
    erg = erg + 5;
++i;
+
    i++;
} while ( i < 5)
+
} while ( i < 5);
 
</source>
 
</source>
  
Diese Schleife addiert zu der Variable ''erg'' 5, solange i < 5 ist. Dies geschieht jedoch mindestens ein Mal, auch wenn i >= 5 ist.
+
Diese Schleife addiert zu der Variable ''erg'' 5, solange die [[Zählvariable]] i < 5 ist. Dies geschieht jedoch mindestens ein Mal, auch wenn i >= 5 ist. In diesem Fall könnte die Schleife auch als eine kopfgesteuerte formuliert sein, ohne dass sich Unterschiede ergeben.

Aktuelle Version vom 12. Dezember 2017, 15:18 Uhr

Fußgesteuerte Schleifen gehören zu den sogenannten Kontrollstrukturen.

Eine fußgesteuerte Schleife ist einer kopfgesteuerten sehr ähnlich.

Der Programmfluss durchläuft eine fußgesteuerte Schleife immer mindestens ein Mal, bevor getestet wird, ob zurück zum Kopf der Schleife gesprungen werden soll.

In Java wird eine fußgesteuerte Schleife durch die Schlüsselwörter do ... while deklariert und deswegen auch do-Schleife oder do-while-Schleife genannt.

Syntaxdiagramm

Do statement.png

Verwendung

Fußgesteuerte Schleifen finden recht selten Verwendung. Wenn, dann aufgrund ihrer definierenden Eigenschaft: Sie soll immer mindestens ein Mal ausgeführt werden. Dies dient meistens dazu, in einer fußgesteuerten Schleife gesetzte Werte garantiert zu initialisieren und ein Ergebnis liefern zu können, auch wenn die Bedingung zum Sprung zurück zum Schleifenkopf potentiell nie erfüllt wird. Das beste Beispiel dafür sind Listendurchläufe.

Aufbau der do-while-Schleife

Die do-while-Schleife beginnt mit dem Schlüsselwort do. Danach folgt der auszuführende Code, meist innerhalb eines Blocks. Auf den Block folgen das Schlüsselwort while und die Wiederholungsbedingung in runden Klammern.

Anders als in der while-Schleife wird hier der Programmcode mindestens ein Mal ausgeführt, da erst nachdem der Code ausgeführt wurde, also am Fuß der Schleife, überprüft wird, ob die Bedingung erfüllt ist oder nicht.

do {
Programmcode
} while (Bedingung)

Beispiel

int i = 0;
do{
    erg = erg + 5;
    i++;
} while ( i < 5);

Diese Schleife addiert zu der Variable erg 5, solange die Zählvariable i < 5 ist. Dies geschieht jedoch mindestens ein Mal, auch wenn i >= 5 ist. In diesem Fall könnte die Schleife auch als eine kopfgesteuerte formuliert sein, ohne dass sich Unterschiede ergeben.