Grundlagen: Schleifen

Schleifen dienen zur ein- oder mehrmaligen Ausführung eines Befehls oder mehrerer Befehle. Die Schleife bildet dabei immer einen Block (also mit geschweiften Klammern). In manchen Fällen kann es auch auftreten, dass die Befehle des Schleifen-Blocks nicht ausgeführt werden. Dies tritt auf, wenn die Bedingung der Schleife nicht zutrifft. Der wichtigste Bestandteil einer Schleife ist nichts anderes als eine if-Abfrage. Trifft die Bedingung zu, werden die Befehle im Block ausgeführt. Trifft die Bedingung nicht zu, wird die Schleife beendet. C# bietet 4 verschiedene Schleifen: for, foreach, while und do-while. Die foreach-Schleife werden wir erst später behandeln, wenn wir beim Thema Arrays sind.
Die for-Schleife eignet sich hervorragend für das n Mal ausführen der Schleifen-Befehle. Die for-Schleife kennzeichnet sich durch das Schlüsselwort for und die runden Klammern. Innerhalb der runden Klammern werden 3 Argumente notiert, welche durch ein Semikolon getrennt werden. Das 1. Argument dient zur Variablendeklaration und Variableninitialisierung. Dieses Argument wird ausgeführt bevor die Schleife durchlaufen wird. Im 2. Argument übergeben wir die Bedingung. Die Bedingung wird vor jeder Ausführung der Befehle der Schleife überprüft (inkl. vor der ersten Ausführung). Natürlich können auch hier mehrere Bedingungen geprüft werden (Verundung oder Veroderung). Das 3. Argument ist ein Befehl, welcher ausgeführt wird, bevor die Bedingung überprüft wird. Bei einer typischen for-Schleife wird hier eine Variable hochgezählt (siehe Beispiel). Für diese Variable, den sogenannten Schleifen-Index oder Schleifen-Zähler, wird gerne der Name i (für Index) verwendet. Oftmals werden bei verschachtelten Schleifen (also einer Schleife in einer Schleife) der nächste Buchstabe des Alphabets gewählt (also j, k, l, m, …). Die einzelnen Argumente können weggelassen werden. Die Semikolons müssen jedoch bestehen bleiben. Der Vorteil an einer for-Schleife ist, dass wir eine Variable direkt im „Schleifen-Kopf“ (erste Zeile der Schleife) initialisieren können. Des Weiteren können bei einer for-Schleife, wie bei einer if-Abfrage auch, die geschweiften Klammern weggelassen werden, wenn nur ein Befehl untergeordnet ist.
Die while-Schleife arbeitet ähnlich wie die for-Schleife, jedoch ist hier eine Variableninitialisierung nicht über die Schleife selbst möglich. Auch den Befehl, welcher vor der Bedingungs-Prüfung ausgeführt wird, gibt es hier nicht. Eine while-Schleife hat also immer nur ein Argument (die Bedingung selbst), weshalb es auch keine Semikolons innerhalb der runden Klammern gibt. Vom Syntax her ist die while-Schleife also identisch mit einer if-Abfrage (abgesehen vom Schlüsselwort selbst). Die Bedingung bei einer while-Schleife wird immer vor der Ausführung des Blocks geprüft. Bei einer while-Schleife dürfen die geschweiften Klammern ebenfalls weggelassen werden, wenn nur ein Befehl untergeordnet ist.
Die do-while-Schleife ist von der Arbeitsweise fast gleich wie die while-Schleife. Der einzige Unterschied ist, dass bei der do-while-Schleife die Bedingung erst immer am Ende der Schleife geprüft wird. Trifft die Bedingung zu, werden die Befehle im Block erneut ausgeführt. Dies hat zur Folge, dass die Befehle der do-while-Schleife mindestens 1-mal ausgeführt werden. Zum Syntax der do-while-Schleife gilt zu sagen, dass das Schlüsselwort do einen Block bildet. Hinter der geschweiften Klammer notieren wir nun das Schlüsselwort while und die Bedingung, welche in runde Klammern gestellt wird. Das Semikolon hinter der schließenden runden Klammer der Bedingung darf nicht vergessen werden.
Um die Funktionalität von Schleifen zu steuern, gibt es die Schlüsselwörter break und continue. Mit break können Sie eine Schleife verlassen. continue führt dazu, dass die aktuelle Ausführung des Schleifen-Blocks beendet wird und die Schleifen-Prüfung erneut ausgeführt wird. Trifft die Bedingung zu, wird der Schleifen-Block erneut ausgeführt. Bei einer for-Schleife wird vor der Prüfung der Bedingung der Schleifen-Befehl ausgeführt.
Im unteren Beispiel sehen Sie, wie wir mit allen 3 Schleifen die gleiche Ausgabe erzeugen können. Wie am Programmcode zu erkennen ist, ist hier die for-Schleife am übersichtlichsten. Dies liegt daran, dass wir eine Art Zähl-Vorgang durchführen, wofür die for-Schleife grundsätzlich am besten geeignet ist. In einigen anderen Fällen ist jedoch eine while- oder do-while-Schleife eher angemessen. Welche Schleife Sie verwenden sollten, müssen Sie immer dann überlegen, wenn Sie eine Schleife benötigen.

Program.cs

// Variablen werden für while und do-while benötigt
int j, k;

Console.WriteLine("for-Schleife:");
for (int i = 0; i < 10; i++)
{
	Console.WriteLine(i);
}

Console.WriteLine();

Console.WriteLine("while-Schleife:");
j = 0;
while (j < 10)
{
	Console.WriteLine(j);
	j++;
}

Console.WriteLine();

Console.WriteLine("do-while-Schleife:");
k = 0;
do
{
	Console.WriteLine(k);
	k++;
} while (k < 10);

Console.ReadKey();
Download

LinksRechts