Java/Schleife: Unterschied zwischen den Versionen

Aus ZUM-Unterrichten
main>Karl Kirst
(- language)
main>Karl Kirst
(letzte sinnvoll lesbare Version)
Zeile 9: Zeile 9:
So lässt sich z.B. das kleine 1 x 1 von 3 wie folgt ausgeben:
So lässt sich z.B. das kleine 1 x 1 von 3 wie folgt ausgeben:


<eval id="4d59a5b697e64">
<source lang="java">
System.out.println("3 x 1 = 3");
System.out.println("3 x 1 = 3");
System.out.println("3 x 2 = 6");
System.out.println("3 x 2 = 6");
Zeile 19: Zeile 19:
System.out.println("3 x 8 = 24");
System.out.println("3 x 8 = 24");
System.out.println("3 x 9 = 27");
System.out.println("3 x 9 = 27");
</eval>
</source>


== Lösung mit while-Schleife ==
== Lösung mit while-Schleife ==
Zeile 25: Zeile 25:
Eleganter ist da schon die Verwendung der [[java/while-Schleife|while-Schleife]]
Eleganter ist da schon die Verwendung der [[java/while-Schleife|while-Schleife]]


<eval id="4d59b3483bfc0">
<source lang="java">
int faktor = 1;
int faktor = 1;
while ( faktor <= 9 ) {
while ( faktor <= 9 ) {
Zeile 31: Zeile 31:
     faktor++;
     faktor++;
}
}
</eval>
</source>


== Lösung mit for-Schleife ==
== Lösung mit for-Schleife ==
Zeile 41: Zeile 41:
Das folgende Beispiel macht genau das selbe wie die while-Schleife im obigen Beispiel:
Das folgende Beispiel macht genau das selbe wie die while-Schleife im obigen Beispiel:


<eval id="4d59b3483cf59">
<source lang="java">
for ( int faktor = 1; faktor <= 9; faktor ++ ) {
for ( int faktor = 1; faktor <= 9; faktor ++ ) {
       System.out.println("3 x " + faktor + " = " + 3*faktor );
       System.out.println("3 x " + faktor + " = " + 3*faktor );
}
}
</eval>
</source>


== Weitere Beispiele ==
== Weitere Beispiele ==


<eval id="4d59b3483def8">
<source lang="java">
//allgemeiner Aufbau
//allgemeiner Aufbau
for ( Zählvariable mit Anfangswert; Anfangswert; Bedingung; Schrittweite) {
for ( Zählvariable mit Anfangswert; Anfangswert; Bedingung; Schrittweite) {
       // Anweisung, die wiederholt werden soll
       // Anweisung, die wiederholt werden soll
}
}
</eval>


<eval id="4d59b3483ee97">// hochzählen in 1er-Schritten
// hochzählen in 1er-Schritten
for ( int zählvariable = Anfangswert; zählvariable <= Endwert; zählvariable++ ) {
for ( int zählvariable = Anfangswert; zählvariable <= Endwert; zählvariable++ ) {
       // Anweisung, die wiederholt werden soll
       // Anweisung, die wiederholt werden soll
}
}
</eval>


<eval id="4d59b3483fe37">// hochzählen in 5er-Schritten
// hochzählen in 5er-Schritten
for ( int zählvariable = Anfangswert; zählvariable <= Endwert; zählvariable+=5 ) {
for ( int zählvariable = Anfangswert; zählvariable <= Endwert; zählvariable+=5 ) {
       // Anweisung, die wiederholt werden soll
       // Anweisung, die wiederholt werden soll
}
}
</eval>


<eval id="4d59b34840dd7">// Countdown
// Countdown
for ( int zählvariable = Anfangswert; zählvariable > Endwert; zählvariable-- ) {
for ( int zählvariable = Anfangswert; zählvariable > Endwert; zählvariable-- ) {
       // Anweisung, die wiederholt werden soll
       // Anweisung, die wiederholt werden soll
}
}
</eval>
</source>


== Aufgaben ==
== Aufgaben ==

Version vom 30. Mai 2012, 20:40 Uhr

Vorlage:Kurzinfo-2

Aufgabenstellung

Häufig benötigt man beim Programmieren eine mehrfache Ausführung eines Teilbereichs.

Denkbar ist es, dass ein Programmierer dazu einfach Zeilen wiederholt.

So lässt sich z.B. das kleine 1 x 1 von 3 wie folgt ausgeben:

System.out.println("3 x 1 = 3");
System.out.println("3 x 2 = 6");
System.out.println("3 x 3 = 9");
System.out.println("3 x 4 = 12");
System.out.println("3 x 5 = 15");
System.out.println("3 x 6 = 18");
System.out.println("3 x 7 = 21");
System.out.println("3 x 8 = 24");
System.out.println("3 x 9 = 27");

Lösung mit while-Schleife

Eleganter ist da schon die Verwendung der while-Schleife

int faktor = 1;
while ( faktor <= 9 ) {
    System.out.println("3 x " + faktor + " = " + 3*faktor );
    faktor++;
}

Lösung mit for-Schleife

Für genau diesen Fall gibt es aber auch eine Schleife: die for-Schleife. Sie ist immer dann sinnvoll einsetzbar,

  • wenn eine bestimmte Anzahl von Wiederholungen durchgeführt werden soll.
  • wenn eine Variable von einem bestimmten Wert bis zu einem anderen gezählt werden soll.

Das folgende Beispiel macht genau das selbe wie die while-Schleife im obigen Beispiel:

for ( int faktor = 1; faktor <= 9; faktor ++ ) {
      System.out.println("3 x " + faktor + " = " + 3*faktor );
}

Weitere Beispiele

//allgemeiner Aufbau
for ( Zählvariable mit Anfangswert; Anfangswert; Bedingung; Schrittweite) {
      // Anweisung, die wiederholt werden soll
}

// hochzählen in 1er-Schritten
for ( int zählvariable = Anfangswert; zählvariable <= Endwert; zählvariable++ ) {
      // Anweisung, die wiederholt werden soll
}

// hochzählen in 5er-Schritten
for ( int zählvariable = Anfangswert; zählvariable <= Endwert; zählvariable+=5 ) {
      // Anweisung, die wiederholt werden soll
}

// Countdown
for ( int zählvariable = Anfangswert; zählvariable > Endwert; zählvariable-- ) {
      // Anweisung, die wiederholt werden soll
}

Aufgaben

Übung
  • Nennen Sie Anwendungsgebiete der for-Schleife
  • Lassen Sie die Zahlen von 1 bis 100 auf dem Bildschirm ausgeben
  • Diesmal nur die geraden Zahlen
  • Diesmal von 100 bis -100
  • Die ungeraden von 200 bis -1000
  • Lassen Sie 50 mal den Buchstaben "A" auf den Bildschirm schreiben
  • Die Zahlen von -10 bis 10 ohne die 0


Linkliste