Kopfgesteuerte Schleife

Aus EINI
(Weitergeleitet von While)
Wechseln zu: Navigation, Suche

Eine kopfgesteuerte Schleife ist eine Kontrollstruktur. Sie bietet die Möglichkeit, Codezeilen zu wiederholen.

Eine kopfgesteuerte Schleife überprüft anhand einer Eintrittsbedingung am Kopf der Schleife, ob ihr Inhalt ausgeführt werden soll oder nicht. Die Ausführung einer solchen Schleife kann daher auch gänzlich übersprungen werden, sollte diese Bedingung nie erfüllt werden. Die Schleife springt nach Ausführung des Schleifenrumpfes immer zurück zum Kopf, um die dort deklarierte Bedingung erneut zu überprüfen.

In Java wird eine kopfgesteuerte Schleife mit dem Schlüsselwort while deklariert, weswegen sie oft auch als while-Schleife bezeichnet wird.

Syntaxdiagramm

While statement.png

Aufbau einer while-Schleife

Der Schleifenkopf

Aufbau

Die Schleife beginnt mit dem Schlüsselwort while. Darauf folgt in runden Klammern die Bedingung, bei der die Schleife ausgeführt werden soll. Die Schleife wird ausgeführt, solange die Eintrittsbedingung gilt.

Wichtig: Auf diese Bedingung darf kein Semikolon folgen.

Beispiel

while( Guthaben > 0)

Diese Schleife wird solange ausgeführt, wie Guthaben vorhanden ist.

Der Schleifenrumpf

Aufbau

Als Schleifenrumpf wird der in der Schleife auszuführende Code bezeichnet. Dieser steht in geschweiften Klammern.

Wichtig: Ziel dieser Schleifenart ist es, dass irgendwann die Eintrittsbedingung nicht mehr erreicht wird. Der auszuführende Code sollte dementsprechend formuliert werden. Terminiert die Schleife nicht, ist das Programm in einer Endlosschleife gefangen.

Beispiel

{
  Guthaben = Guthaben - 50;
}

Die komplette while-Schleife

Aufbau

Die komplette Schleife besteht aus dem Kopf und dem Rumpf:

while(Bedingung)

{Befehl}

Beispiel

while( Guthaben > 0)
{
  Guthaben = Guthaben - 50;
}

Solange noch Guthaben vorhanden ist, wird 50 von diesem abgezogen.

Negativbeispiel

int start=2;
while( start > 0)
{
  Guthaben = Guthaben - 50;
}

Auf die Laufvariable start im Kopf der Schleife wird in ihrem weiteren Ablauf nicht mehr zugegriffen. Diese Variable verändert somit ihren Wert nicht und die Eintrittsbedingung der while-Schleife bleibt permanent erfüllt. Somit handelt es sich hierbei um eine Endlosschleife.

Schlüsselwort

  • while