3
Ablaufsteuerung 3.1 Schleifen 3.1.1 Die for-Schleife |
|
Kontroll- strukturen Sequenz Iteration Selektion |
Bisher
bestanden unsere Programmierkünste darin, dass wir Befehl an Befehl
reihten. Wir sagen auch, das Programm besteht aus einer Sequenz (oder
Folge) von Befehlen oder Anweisungen. Diese können Zuweisungen oder
Methodenaufrufe sein. Jede Programmiersprache verfügt neben der Sequenz über weitere
Möglichkeiten den ABlauf eines Programms zu steuern, den sog. Kontrollstrukturen.
Dazu zählen Schleifen (auch Iteration genannt) und Verzweigung (auch Selektion
genannt). In
diesem Kapitel wollen wir lernen, wie man in Java Schleifen realisiert.
Drei Techniken stehen uns zur Verfügung: die
for-schleife,
die do-while-Schleife
und die
while-Schleife.
Im Prinzip sind diese Techniken gleichwertig, d.h. ein Problem das man mit
einer Schleife lösen möchte kann man mit allen drei Techniken lösen. Die
unterschiedlichen Techniken haben ihre spezifischen Vorzüge, so dass wir
von Fall zu Fall entscheiden, mit welcher Technik wir den Vorzug geben.
Wir beschäftigen uns zunächst mit der Vorschleife. |
![]()
public void
zeichne(){ eintragen, den Quelltext kompilieren und wenn das Programm läuft, sechsmal auf den klicken. Das gleiche Ergebnis erhalten wir durch ein einmaliges Klicken des Zeichne!-Button, wenn wir die obige Sequenz versechsfachen zu: public void
zeichne(){ Dass diese Art nicht sehr befriedigend ist, muss nicht näher begründet werden. Eine echte Alternative ist die folgende zeichne()-Methode: public void zeichne() { for(int i=1; i<=6; i++){ t1.forward(100); t1.right(60); } } |
|
Struktogramm |
![]() |
Download: Sechseck.java |
for(int
i=1; i<=6;
i++){ } Hinter dem reservierten Wort for steht zunächst eine runde Klammer, in der durch Semikola getrennt drei Ausdrücke stehen. 1. Ausdruck: int i=1 Es wird eine (Zähl)variable i deklariert und initialisiert. Auf diese Weise ist i lokal in der Schleife erklärt, außerhalb existiert diese Variable nicht mehr und kann erneut verwendet werden, ohne dass irgendwelche Konflikte auftreten. Ist dagegen die Variable i bereits deklariert, benötigt man hier nur noch eine Initialisierung (for i=1; i<=6; i++)), dann aber ist i nicht mehr lokal in der Schleife sondern in einem größeren Bereich definiert und Seiteneffekte müssen berücksichtigt werden. Wir empfehlen also, die oben dargestellte Variante. 3. Ausdruck: i++ Betrachten wir zunächst den dritten Ausdruck. In ihm wird i um 1 inkrementiert also sein Wert um 1 erhöht. Diese Inkrementierung findet am Ende eines jeden Schleifendurchgang statt. 2. Ausdruck: i <= 6 An zweiter Stelle steht ein Ausdruck, der zu 'wahr' oder 'falsch' ausgewertet wird. D.h. vor einem erneuten Schleifeneintritt wird geprüft, ob diese Bedingung noch wahr ist. Ist dies dies nämlich nicht oder nicht mehr der Fall, so wird die Schleife abgebrochen, der Schleifenkörper wird nicht mehr abgearbeitet. Ist die Bedingung von Anfang an 'falsch', dann wird der Schleifenkörper kein einziges Mal durchlaufen Erwähnen müssen wir noch, dass der Wert i selbst im Schleifenkörper benutzt und unter Umständen neu gesetzt werden kann. Wir werden dazu später noch Beispiele kennen lernen.
|
zu | 3.1.2 Die do-while-Schleife |
zur Startseite | www.pohlig.de (C) MPohlig 2006 |