While-Schleifen - auf www.wittye.com

Werbung
3. Die Wiederholung (lteration)/Schleifen
Beispiele:
Im Verlauf eines Programms müssen manchmal eine oder mehrere Anweisungen wiederholt ausgeführt werden. Solche Wiederholungen nennt man auch (Programm-) Schleifen. In Java gibt es drei
Arten von Schleifen:
public class WhileDemo{
public static void main(String args[]){
// Initialisierung
int x=20;
● Die Anzahl der Schleifendurchläufe ist nicht von vornherein bekannt und wird während des
Programmauslaufs durch eine Bedingung gesteuert, die bei jedem Schleifendurchlauf am
Schleifenanfang abgefragt wird (while-Schleife).
// Schleife
while(x>1){
System.out.println(x);
x=x/2;
}
● Die Anzahl der Schleifendurchläufe ist nicht von vornherein bekannt und wird während des
Programmlaufs durch eine Bedingung gesteuert, die am Schleifenende abgefragt wird
(do-while-Schleife).
● Die Anzahl der Schleifendurchläufe ist beim Erstellen des Programms von vornherein bekannt
(for-Schleife).
a) Die while-Schleife:
Bei der while-Schleife wird am Schleifenanfang eine Bedingung auf ihren Wahrheitsgehalt hin überprüft.
SOLANGE Bedingung FÜHRE AUS
Anweisung 1

Anweisung 2
 Schleifenrumpf
....
Anweisung n
}
Das Programm gibt die Zahlen 20,10,5,2 in jeweils einer neuen Zeile aus.
Außerdem sind die Zeilen // Initialisierung und // Schleife neu. Diese Zeilen sind Kommentare. Alles was hinter // steht, wird beim Kompilieren ignoriert.
Wenn in dem Beispiel die Zeile x=x/2 fehlen würde, so würde die Schleife endlos wiederholt. Wäre
die Initialisierung x=1 anstelle von x=20, so würde die Schleife kein einziges Mal durchlaufen.
Aufgabe: Ändere das Programm so, dass die Zahlen 30,27,24,21,18,15,12,9,6,3 ausgegeben werden.
public class WhileDemo2{

public static void main(String args[]){
int i=0;
while(i<10){
System.out.println(i);
++i;
}
}
Wenn die Ausführungsbedingung WAHR (true) ist, wird der Schleifenrumpf betreten und die Anweisung(en) wird (werden) ausgeführt. Ist die Ausführungsbedingung FALSCH (false), so wird der
Schleifenrumpf nicht betreten und das Programm mit der dahinter folgender, Anweisung fortgesetzt.
Es kann demnach sein, daß die while-Schleife kein einziges Mal durchlaufen wird. Man nennt daher
die while-Schleife eine abweisende Schleife.
Wichtig: Man muss unbedingt darauf achten, daß die Schleife auch tatsächlich nach einer endlichen
Anzahl von Durchläufen verlassen wird und keine Endlosschleife entsteht. Dies bedeutet, daß der
Wahrheitswert der Ausführungsbedingung nach endlich vielen Durchläufen den Wert FALSCH annehmen muss. Erreicht wird das durch eine entsprechende Anweisung im Schleifenrumpf.
Struktogramm:
Formulierung in JAVA:
while (Bedingung) Anweisung;
Ist die Anweisung aus mehreren Einzelanweisungen zusammengesetzt, so müssen. diese durch { und }
zusammengefasst werden,
While-Schleifen
}
 Wittye 2003
}
Dieses Programm gibt die Zahlen 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 in jeweils einer neuen Zeile aus.
Aufgaben:
1. Schreibe ein Java-Programm, das eine Wertetabelle für den Sinus ausgibt. Den Sinus einer Zahl x
erhält man durch Math.sin(x). x muss man dabei im Bogemaß angeben.
2. Die Summe aller Zahlen bis zu einer eingegebenen Zahl soll bestimmt werden.
3. Die Summe aller ganzen Zahlen zwischen den ganzen Zahlen "AnfZahl" und "EndZahl" (beide
sind einzugeben) einschließlich dieser beiden Werte soll berechnet werden.
4. Berechne analog zur vorigen Aufgabe das Produkt aller ganzen Zahlen von einem einzugebenden
Anfangswert bis zu einem Endwert.
5. Der Computer soll nach Eingabe einer natürlichen Zahl kleiner als 20 (Kontrolle durch das Programm!) die nächsten 15 natürlichen Zahlen zusammen mit ihrem Quadrat ausgeben. Struktogramm und Java-Programm.
6. Es soll geprüft werden, ob welche Zahlen x in einem vorgegebenen Bereich die Ungleichung
| x – 7 | < 3 erfüllen .
While-Schleifen
 Wittye 2003
Herunterladen