|
Sie sind wichtiger Bestandteil aller Programmiersprachen, auch der objektorientierten, obwohl sie eines der wichtigsten Elemente der "Ablaufprogrammierung" darstellen. Schleifen sind wichtiges Rationalisierungsmittel, denn sie sparen Programmieraufwand, Speicherplatz und Laufzeit. Sie sind das "Fließband" der EDV.
Der Einsatz von Schleifen setzt gewisse Bemühungen des Programmierers schon in der Planungsphase seines Projektes voraus. Nein, keine Ablaufpläne und andere furchtbareDinge aber .. Variable, die sich prinzipiell seriellbearbeiten lassen, sollten immer als Array angelegt werden,denn das ist Voraussetzung für die Verarbeitung inSchleifen. while... Die Schleifenstruktur endet abhängig von einer Bedingung.Der grundlegende Aufbau der Schleife ist: while (bedingung)befehl; Oder mehr textlich: Solange die Bedingung erfülltist, führe den Befehl aus.
while (Bedingung1)
{
[Anweisungen1;]
[if (Bedingung2)[{Anweisungen2;]break;[}]]
[Anweisungen3;]
[if (Bedingung3) continue;]
[Anweisungen4;]
} |
- Die Bedingung(en) müssen so formuliert sein, daß nur true oder false als Ergebnis auftreten können
- auf die Bedingung kann entweder genau ein Befehl/Zuweisung/Funktionsaufruf
folgen; die while-Schleife wäre dann mit einem Semikolon
beendet oder
- auf die Bedingung können mehrer Befehle folgen,
dann sind diese einzeln mit Semikolon zu schließen,
insgesamt mit geschweiften Klammern zu versehen
- Die Schleife kann optional mit break vorzeitig verlassen
weren. Das vorzeitige Verlassen einer Schleifenstruktur
sollte im Programm aber Ausnahme sein. Ein möglicher,
legitimer Fall ist das Auftretens eines Fehlers.
- Innerhalb der Schleife kann eine Befehlsfolge abhängig
von einer Bedingung mit continue übersprungen werden,
danach wird die Schleife vom Kopf her fortgesetzt
- Die Abbruchbedingung muß so gestaltet sein, daß
wirklich ein Abbruch eintreten kann.
do ... while
Genauso wie die while-Schleife nur anders: Die Bedingung
wird erst am Ende geprüft. Eine wichtige Folge ist,
diese Schleife wird in jedem Falle mindestens einmal
durchlaufen.
do
{
[Anweisungen1;]
[if (Bedingung1)[{Anweisungen2;]
break;[}]]
[Anweisungen3;]
[if (Bedingung2) continue;]
[Anweisungen4;]
}
while (Bedingung3); |
for
Wenn die Anzahl erforderlicher Umläufe vorher bekannt
ist, hat die For.. -Schleife Vorteile, weil sie schnell
und platzsparend abgearbeitet wird. Ihre Syntax stammt aus
C und ist für den Basic- oder Pascal-Programmierer
(ja, es gibt sogar noch Delphi!) sehr gewöhnungsbedürftig.
for ([var] i = von; i <= bis; i++)
{
[Anweisungen1;]
[if (Bedingung1){[Anweisungen2;]
break;}]
[Anweisungen3;]
[if (Bedingung3) continue;]
[Anweisungen4;]
} |
- Die Zählvariable (hier i ), kann direkt in der
for-Schleife initialisiert werden, muß aber nicht
- Die Zählschleife kann gleichzeitig weitere Variable
enthalten, die mit Komma getrennt aufgezählt werden
müssen und jeweils eigene Inkremente oder Dekremente
erhalten können.
- 'von' und 'bis' stehen für Ganzzahlen, die den
Zählbereich begrenzen
- die besondere Schreibung des letzten Gliedes 'i++'
ist eine C-Spezialität und meint: i = i + 1
(Inkrement). Hier könnte z.B. auch erscheinen: i
+= 3 (Zuwachs in 3er-Schritten), i-- (Abwärts-Zählung)
- Die Zählvariable kann innerhalb der Schleife (ungewollt)
manipuliert werden, die Schleife bricht zum falschen Zeitpunkt
oder gar nicht mehr ab.
- Optional kann die Schleife mit break vorzeitig verlassen
werden, die Arbeit wird nach dem for-Befehl fortgesetzt
- continue bewirkt, daß die innerhalb der Schleife
folgenden Befehle übersprungen werden, die Schleife
selbst wird aber danach fortgesetzt.
for .. in
Diese Schleife listet alle Eigenschaften eines Objektes
auf. Eines der wichtigsten Objekte ist ja window,
es hat ca. 30 Eigenschaften, deren Namen und Werte auf diese
Weise erfragbar sind. Der Test-Aufruf erfolgt in der Form:
for(i in window){alert("Eigenschaft "+i+" = "+window[i]);} |
with ...
So was ähnliches wie eine Schleife, die aber prinzipiell
nur einmal durchlaufen wird
with Objekt
{
[Anweisungen;]
zum Beispiel: with Math {a = sqrt(7);...} statt
{a = Math.sqrt(7);...}
} |
Die with-Konstruktion erleichtert lediglich die Schreibung
und erhöht die Ausführungsgeschwindigkeit (sagt
man). Der Aufruf von Objekteigenschaften oder-Methoden kann
innerhalb der Schleife ohne Nennung des Objektes erfolgen.
|
|
|