WHILE Anweisung Aufgabe Ausgabe aller ganzen Zahlen von
WHILE Anweisung
Aufgabe: Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm
Schreibaufwendige Lösung:
public class Main. Wochentag 1 { public static void main (String[] args){ println("0"); println("1"); println("2"); // usw. //. . . println("100"); } }
Elegantere Lösung:
public class Main. While { public static void main (String[] args){ int i; i=0; // wie geht es // weiter ? ?
Bedingung while (i<=100){ println(i); i=i+1; } Bedingung wahr println("Das war es"); } Die while–Anweisung ist EINE (komplexe) Anweisung, in der Anweisungen vorkommen. Bedingung falsch
Programmverlauf
i = 0; while (i<=100){ println(i); i=i+1; } println("Das war es"); }
Dynamische Entwicklung des Inhalts der Variablen i
i = 0; while (i<=100){ println(i); i=i+1; } println("Das war es"); i 0 1
i = 0; while (i<=100){ println(i); i=i+1; } println("Das war es"); i 0 1 2
. . usw. bis i den Wert 100 hat
i = 0; while (i<=100){ println(i); i=i+1; } println("Das war es"); i 0 1 2 . . . 100 101
i = 0; while (i<=100){ println(i); i=i+1; } println("Das war es"); i 0 1 2 . . . 100 101
Java-Syntax für WHILE - Anweisung
bei einer Anweisung sind Klammern nicht nötig. Trotzdem: Immer Klammern machen. while (Ausdruck){ Anweisung(en); } Diesen Teil innerhalb einer while-Anweisung nennt man auch Schleifenrumpf Blockende kein Semikolon
Warum Endlosschleife ? i=0; while (i<=3); { i = i+1; }
Warum Endlosschleife ? i=0; while (i<=3); { i = i+1; } Nach der Bedingung (i<=3) muss eine Anweisung kommen ! Diese Anweisung ist die "leere Anweisung" (die nichts macht bzw. bewirkt), die durch den leeren Ausdruck, der mit einem Semikolon abgeschlossen wird, zu einer Anweisung wird. Diese wird solange ausgeführt, solange i<=3 (in diesem Fall: 0 <=3) ist,
Das heißt while (i<=3); wird vom Compiler wie folgt interpretiert: while (i<=3) ;
Aufgabe: Flußdiagramm der WHILE – Anweisung mit einer beliebigen Bedingung B und beliebigen Anweisung(en) A, also der folgenden Anweisung …
while (B) { A; }
falsch B wahr A
WHILE - Anweisung als Struktogramm
Bedingung Anweisungen
AUFGABE: Stellen Sie den Programmteil unten als Struktogramm dar i = 0; while (i<=100){ println("i="+i); i=i+1; } println("Das war es");
Name: whiletest i: int i = 0 while(i<=100) Ausgabe(i) i = i+1 Ausgabe("Das war es")
Die WHILE - Anweisung nennt man auch kopfgesteuerte bzw. abweisende Schleife, weil die Bedingung am Kopf der Schleife steht, bzw. die Schleife nicht durchlaufen werden muss (Durchgang wird abgewiesen)
Wie oft wird der Schleifenrumpf einer kopfgesteuerten Schleife durchlaufen. Nennen Sie die obere bzw. untere Grenze.
0. . . Durchgänge
- Slides: 30