Axel Richter: Unterschied von while und do-while?

Beitrag lesen

Hallo,

Ich versuche, mein Wissen in PHP gerade ein bisschen zu erweitern.
Dazu verwende ich, um den Anfang etwas zu verstehen, das Buch "PHP für Dummies", welches mir bisher recht gut geholfen hat.

Aber jetzt habe ich ein Problem bei der While-Schleife und der Do-While-Schleife!

Was genau ist der Unterschied zwischen den beiden?
Ich verstehe zwar, wie man beides umsetzt, aber es kommt mir vor, als wären beide Befehle identisch, vor allem, weil bei den Beispielaufgaben letztendlich dasselbe Ergebnis heraus kommt!

Gibt es zwischen den Befehlen unterschiede oder ist es identisch und einfach nur nach belieben verwendbar?

Den grundsätzlichen Unterschied haben Dir Andreas und Thomas schon erklärt. Man spricht da übrigens von kopfgesteuerten Schleifen (while...) und fussgesteuerten Schleifen (do...while).

Die beiden folgenden Schleifen verhalten sich fast gleich. Nur, wenn man als gesuchten Anfangsbuchstaben "A" wählt, verhalten sie sich völlig unterschiedlich.

var arr = new Array("Adam", "Bertram", "Cäsar", "Dieter");
var Anfangsbuchstaben = "C"

//Kopfgesteuerte Schleife
var i = 0;
while (arr[i].indexOf(Anfangsbuchstaben)!=0) {
 alert(arr[i]);
 i++;
}
alert("fertig bei " + arr[i]);

//Fussgesteuerte Schleife
i = 0;
do {
 alert(arr[i]);
 i++;
} while (arr[i].indexOf(Anfangsbuchstaben)!=0)
alert("fertig bei " + arr[i]);

Der Code ist JavaScript.

viele Grüße

Axel