For-, While-Schleifen bei Java - Wofür werden Sie verwendet

...komplette Frage anzeigen

2 Antworten

Die while-Schleife führt, wie in der anderen Antwort bereits gesagt wurde, einen Befehl oder mehrere so oft (so lange) aus, wie eine Bedingung wahr ist.

Um die for-Schleife zu verstehen, muss man sich zunächst andere Programmiersprachen anschauen. Dort gibt es ebenfalls "for"-Schleifen, die allerdings zwei unterschiedliche Bedeutungen haben:

1) Eine Variable wird von einem Startwert zu einem Endwert hoch- oder runtergezählt und ein Befehl (oder mehrere) werden N-mal ausgeführt.

Um dieses Verhalten nachzubilden gibt es die folgende Form der for-Schleife in Java:

for( int i=0; i<10; i++ )

Streng genommen handelt es sich bei dieser Art von for-Schleife bei Java um eine spezielle Form der while-Schleife, denn man muss eine Bedingung angeben (hier: i<10), die erfüllt sein muss, damit die Schleife wiederholt wird. Diese Bedingung kann eine beliebige Bedingung sein, so dass man diese Form der Schleife nicht nur zum N-maligen Durchlaufen lassen verwenden kann:

for( i=0; o>=0; i++ ) { o=stream.read(); }

In vielen anderen Programmiersprachen (Basic, Pascal) ist dies anders; dort kann man for-Schleifen NUR zum Zählen von einer Zahl zu einer anderen verwenden.

Trotzdem wird diese Form auch in Java meistens - aber nicht immer - dafür genommen, Befehle N-mal auszuführen.

2) Für jedes Element in einer Menge wird/werden ein/mehrere Befehle einmal ausgeführt. Auch diese Art von for-Schleife gibt es in Java:

for( String schueler : schuelerliste ) {
    System.out.println(schueler);
}

In diesem Beispiel wird der Befehl "System.out.println" für jeden Schüler in der Schülerliste einmal aufgerufen, so dass die Namen aller Schüler in der Liste ausgegeben werden.

Es gibt noch eine dritte Schleifenart: Die do...while-Schleife.

Diese funktioniert ähnlich wie die while-Schleife, jedoch wird die Bedingung beim ersten mal Ausführen noch nicht überprüft, so dass die Schleife mindestens einmal ausgeführt wird.

Super danke. Nur wenn ich eine Bedingung überprüfe, und diese richtig ist, hört die While-Schleife ja nie auf. Was muss ich dazu eingeben, dass die While-Schleife nicht endlos läuft?

0
@Hobbyhelfer

Die Bedingung wird ja vor jedem Durchlauf neu geprüft.

Wenn die Bedingung immer wahr ist, läuft die Schleife tatsächlich immer weiter. Bei Programmen, die einmal gestartet immer weiter laufen sollen wird dies tatsächlich verwendet.

Ansonsten wird die while-Schleife dann beendet, wenn die Bedingung - die wie gesagt immer vor dem nächsten Durchlauf geprüft wird - irgendwann einmal nicht mehr wahr ist.

Beispiel: Ist die Bedingung "i<5", so läuft die Schleife so lange, bis i größer oder gleich 5 ist.

0

While-Schleife:

  1. Überprüft eine Bedingung, z.B. while( x == 1) { [Schleifeninhalt] }
  2. Führt Inhalt aus, wenn Bedingung wahr ist. Tut nichts, wenn Bedingung unwahr ist.
  3. Fängt wieder bei 1. an

Do-While tut genau das gleiche, führt aber den Inhalt auf jeden Fall einmal aus (und überprüft erst danach die Bedingung; wiederholt, wenn Bedingung wahr ist)

Die For-Schleife führt ihren Inhalt so oft aus, wie es der Zähler vorgibt, Beispiel:

for( int i = 1; i <= 5; i++) { [Schleifeninhalt] }

Im ersten Schritt (int i = 0) wird eine Zählervariable initialisiert; im zweiten Schritt wird die Bedingung (i <= 5) geprüft; im dritten Schritt wird jetzt der Schleifeninhalt ausgeführt, falls die Bedingung wahr ist; im vierten Schritt (i++) wird die Variable um 1 erhöht. Danach fängt es wieder bei Schritt 2 an (Bedingung überprüfen).

Auf diese Weise wird diese for-Schleife genau 5 mal ausgeführt.

Die Anwendungen sind vielfältig, in so gut wie jedem etwas komplexeren Programm sind etliche Schleifen zu finden. Wenn es um ein Vorführbeispiel geht solltest du mal nach einem Quelltext von einem Übungsprogramm zum Thema Schleifen suchen.

Was möchtest Du wissen?