In Java wird in der for-Schleife eine feste Anzahl an Wiederholungen durchlaufen. Dazu verwendet man eine Zählvariable.
In diesem Artikel lernst Du die Struktur der for-Schleife in Java kennen. Neben der Schleifenstruktur mit Initialisierung, Bedingung und Änderung, wird das Inkrementieren, Dekrementieren und die verschachtelte for-Schleife erklärt.
Als meine Frau aus China die DVD ICE Age für 1 EUR mitbrachte war die Freude unserer Kids groß. Umso überraschter war ich, als beim DVD-Player die Ländercodemeldung kam:
Aktuelle Region: Europa
Mögliche Änderungen: 7
Zähler zum Einstellen der Region: 0mal geändert
Das musste ich natürlich gleich ausprobieren. Ich wechselte auf die Region China und dann wieder zurück auf Europa und schon hatte ich nur noch 5 mögliche Änderungen. Das zusätzlichen funktionierte. Nach jedem Wechsel war ich um eine Änderungsmöglichkeit ärmer.
Nach einem ganz ähnlichen Prinzip funktioniert auch die for-Schleife oder Zählschleife in Java.
In Java wird in der for-Schleife (auch Zählschleife) eine feste Anzahl an Wiederholungen durchlaufen. Eine Zählvariable i wird bspw. von 0 bis 6 in 1er Schritten gezählt. In Java programmiert man:
for(int i = 0; i < 7; i = i + 1){
System.out.println(i);
}
Die for-Schleife besitzt einen Schleifenkopf mit Initialisierung (Startwert), Bedingung (Abbruch) und Änderung (Schrittweite) und einen Schleifenkörper, der hier 7mal, mit Ausgabe der Zählvariable, wiederholt wird.
Diese Geschichte hat LIME seinen Namen gegeben: Möchte man den Wert einer Variable um eins erhöhen schreibt man:
i=i+1
, möchte man ihn um eins verringern i=i-1
.
Mathematisch ist dies nicht sinnvoll, aber
beim programmieren sehr wohl. Man stelle sich als Variable eine Glasschütte vor, deren Inhalt 3 Limetten sind. Möchte man
die Anzahl um eins erhöhen legt man eine dazu. Man nimmt also den alten Wert und erhöht diesen, so dass der neue Wert
4 Limetten sind.
Programmierer kürzen gerne ab:
i=i+1
| i++
oder i+=1
| ++i
Inkrementieren
i=i-1
| i--
oder i-=1
| --i
Dekrementieren
i=i+1
, x++
, y-=2
,
n*=2
.In einem Café gewährt der Inhaber folgenden Treuevorteil: Für jede 5 EUR bekommt man einen Treuestempel. Für 10 Stempel erhält man einen Rabatt im Wert von 3 EUR.
Treuestempel
. Der Nutzer gibt den Einkaufswert ein. Berechnet und ausgegeben wird der Endpreis. Nutze Kurzschreibweisen. i++
, x+=1
, y=y-2
,
n=n*2
einkaufswert-=rabatt;
for(int i=0; i<3; i++)
Wähle die korrekten Aussagen aus.
for(int i=0; i!=10; i=i+1) System.out.print(i+" ");
for(int j=1; j<=15; j=j+3) System.out.print(j+" ");
for(double k=0; k<3; k=k+0.5) System.out.print(k+" ");
for(int l=10; l>0; l--) System.out.print(l+" ");
for(int i=0; i<=10; i++) System.out.print(i+++" ");
int i;
for(i=0; i<=10; i++) System.out.print(++i+" "); System.out.print(i);
Man kann for-Schleifen auch Verschachteln:
int i, j;
for(i = 0; i < 2; i++){
for(j = 0; j < 3; j++){
}
}
In diesem Beispiel wird die innere Schleife 3mal und die äußere Schleife 2mal durchlaufen, das macht insgesamt: 2 . 3 = 6mal.
Autoren: D. Supper
Wir trainieren unser Programmierkenntnisse mit verschachtelten Schleifen.
for(i=1;i<=10;i++){
for(j=0;j<10;j++);
};
for(x=3;x<=10;x++){
for(y=10;y>5;y--);
}
Zeiten
die einen Countdown von 10 bis 0 zählt. Die Verzögerungszeit soll exakt 1 s betragen. Verwende dazu verschachtelte for-Schleifen und die Variable zeit = 10
.VariableZeiten
bei der mit Hilfe einer weiteren for-Schleife die Wartezeit zwischen 200 ms und 700 ms variiert wird."Ein Netz hat Löcher, immer. Sonst wäre es ja eine Decke."
"Deswegen heißt es, zumindest in Deutschland, ja auch Mobilfunknetz und nicht Mobilfunkdecke." mademyday.com
Autoren: G. Kompa, D. Supper
for(int i=1;i<=10;i++){
System.out.println("Ich zähle" + i);
}
System.out.println("Ich zähle nicht" + i);
for(double j=0; j!=2.0; j+=0.1){
System.out.printf("%f \n",j);
}
Finde die Fehler.
Finde in der ersten Schleife heraus, wie auch der Wert außerhalb der Schleife angegeben werden kann.
Bei der zweiten Schleife lass 10 Nachkommastellen anzeigen.
Autoren: G. Kompa, D. Supper
In unserem Kalender sind zum Ausgleich der Jahreslänge in regelmäßigen Abständen Schaltjahre eingebaut. Ein astronomisches Jahr hat dabei 365,24219 Kalendertage. Zur exakten Festlegung der Schaltjahre dienen folgende Regeln:
for(int i=2000; i<=2100; i=i+4){
...
Autoren: D. Supper | binnendifferenziert
Mittelwert
: Deren Aufgabe besteht darin, eine bestimmte Anzahl von Werten über die Tastatur einzulesen. Die Summe der Werte soll berechnet und zusammen mit dem Mittelwert ausgegeben werden.
Frage zuerst ab wie viele Werte der Benutzer eingeben möchte. Mit der Anzahl der Werte schreibst du dann die Bedingung der for-Schleife.
Honigwabe
.ASCIIArt
.
System.out.printl("Wie viele Werte wollen sie eingeben?";
int anzahl = keyboard.nextInt();
for(int i=0; i<anzahl; i++){ ...
if(wert%2== ...
Autoren: D. Supper | binnendifferenziert
Drei ganzzahlige Längen, die die Seitenlängen eines rechtwinkligen Dreiecks darstellen, nennt man pythagoreisches Tripel. Es muss die Gleichung gelten, dass die Summe der Quadrate der beiden Seiten, welche an den rechten Winkel angrenzen, gleich dem Quadrat der Hypotenuse ist. (Satz des Pythagoras)
Erstelle die Klasse PythagoresischesTripel
. Ermittle für die Variablen a
, b
, und c
alle passenden Werte im Bereich für a
, b
, c
von 1 bis 100.
Beispiel für ein Tripel: (3,4,5), da 3² + 4² = 5².
Benutze dafür eine dreifach verschachtelte for-Schleife, die die möglichen Werte durchläuft. Stelle sicher, dass kein Tripel doppelt vorkommt.
Autoren: D. Supper | binnendifferenziert
Schreibe die Klasse Einmaleins
: Deren Aufgabe besteht darin, das kleine Einmaleins in tabellarischer Form zu erzeugen.
Für die Tabelle müssen insgesamt hundert Zahlen gedruckt werden. Das lässt vermuten, dass eine Schleife sinnvoll wäre. Die Tabelle ist aber aus zehn Zeilen mit jeweils zehn Spalten aufgebaut. Mit anderen Worten, es müssen insgesamt zehn Zeilen gedruckt werden und in jeder Zeile wiederum zehn Zahlen. In diesem Fall bietet sich eine geschachtelte Zeile zur Erzeugung der Tabelle an.
for (int i = 1; i <= 10; i++) {
for (int j = 1; j <= 10; j++) {
System.out.printf("%3d•%d = %2d ",i,j,(i*j));
}
System.out.println();
}
die for-Schleife, -en | Die for-Schleife (auch Zählschleife) wiederholt einen Anweisungsblock x-mal. Dabei wird ein Startwert festgelegt, eine Abbruchbedingung und die Schrittweite |
die Initialisierung, -en | hier wird der Startwert festgelegt, z.B. i = 0 |
die Abbruchbedingung, -en | Sobald die Bedingung den Wert false ergibt wird die Schleife verlassen, z.B. i < 10 |
die Änderung, -en | hier wird die Schrittweite festgelegt, z.B. in 1er Schritten (i = i + 1 ) |
die Zählvariable, -en | Variable, welche zum zählen in der for-Schleife verwendet wird |
inkrementieren | i = i + 1 kurz i++ oder i = i + 5 |
dekrementieren | i = i - 1 kurz i-- oder i-=1 |
verschachtelte for-Schleife | eine for-Schleife in einer anderen for-Schleife |