Unterschied zwischen for und while-Schleife

Autor: Laura McKinney
Erstelldatum: 2 April 2021
Aktualisierungsdatum: 10 Kann 2024
Anonim
While-Schleife Programmieren - Java Tutorial 8 ● Gehe auf SIMPLECLUB.DE/GO & werde #EinserSchüler
Video: While-Schleife Programmieren - Java Tutorial 8 ● Gehe auf SIMPLECLUB.DE/GO & werde #EinserSchüler

Inhalt


In C ++ und Java ermöglichen die Iterationsanweisungen für loop, while-Schleife und do-while-Schleife die wiederholte Ausführung des Befehlssatzes, bis die Bedingung wahr ist, und werden beendet, sobald die Bedingung falsch wird. Bedingungen in Iterationsanweisungen können wie in for-Schleife vordefiniert oder wie in while-Schleife offen sein.

Um die Anwendbarkeit, Leistungsfähigkeit und Flexibilität von C ++ zu verbessern, gibt es verschiedene for-Loop-Varianten. Zum Beispiel können wir mit der for-Schleife mehr als eine Variable innerhalb der Schleife verwenden, um sie zu steuern, und die Konvergenzfunktion mit der for-Schleife verwenden. Umgekehrt können wir mit while-Schleife nicht viele Variationen verwenden, die mit der Standardsyntax verwendet werden müssen.

Es gibt einige wesentliche Unterschiede zwischen for- und while-Schleifen, die anhand einer Vergleichstabelle näher erläutert werden.

  1. Vergleichstabelle
  2. Definition
  3. Hauptunterschiede
  4. Fazit

Vergleichstabelle

Grundlage für den Vergleichzum während
Erklärungfür (Initialisierung; Bedingung; Iteration) {
// body of for loop
}
while (Bedingung) {
Aussagen; // Körper der Schleife
}
FormatInitialisierung, Bedingungsprüfung und Iterationsanweisung werden am Anfang der Schleife geschrieben.Nur die Initialisierung und Zustandsprüfung wird am oberen Rand der Schleife durchgeführt.
VerwendenDie for-Schleife wurde nur verwendet, wenn die Anzahl der Iterationen bereits bekannt war.Die while-Schleife wird nur verwendet, wenn die Anzahl der Iterationen nicht genau bekannt ist.
BedingungWenn die Bedingung nicht in der for-Schleife enthalten ist, durchläuft die Schleife unendlich oft.Wenn die Bedingung nicht in die while-Schleife eingefügt wird, wird ein Kompilierungsfehler angezeigt.
InitialisierungIn der for-Schleife wird die einmal durchgeführte Initialisierung niemals wiederholt.In while-Schleife Wenn die Initialisierung während der Bedingungsprüfung erfolgt, erfolgt die Initialisierung jedes Mal, wenn die Schleife wiederholt wird.
IterationsanweisungDie Anweisung für die Iteration der for-Schleife wird oben geschrieben und daher erst ausgeführt, nachdem alle Anweisungen in der Schleife ausgeführt wurden.In der while-Schleife kann die Iterationsanweisung an einer beliebigen Stelle in der Schleife geschrieben werden.


Definition von for-Schleife

In Java gibt es zwei Formen von zum Schleifen. Die erste Form ist die "traditionelle" Form und die zweite ist die "für jeden" Form.

Syntax

Die allgemeine Form der traditionellen for-Schleifenanweisung.

for (Initialisierung; Bedingung; Iteration) {// Rumpf der for-Schleife}

  • Initialisierung - Die Initialisierung der Regelungsvariablen für die Schleife wird nur einmal während der ersten Iteration der Schleife ausgeführt. Hier wird die Regelungsvariable initialisiert. Wenn die Regelungsvariable an keiner Stelle im Programm erneut verwendet wird und nur als Regelungsvariable der Schleife verwendet wird, wird sie in der for-Schleife deklariert und initialisiert.
  • Bedingung - Die Bedingung der 'for'-Schleife wird jedes Mal ausgeführt, wenn die Schleife wiederholt wird.
  • Inkrement und Iteration- Die Iterationsanweisung ist ein Ausdruck, der die Regelkreisvariable inkrementiert oder dekrementiert.

Immer wenn die Schleife ausgeführt wird, wird zuerst ihre Initialisierungsbedingung ausgeführt. dann wird die Bedingung geprüft. Wenn die Bedingung erfüllt ist, wird der Hauptteil der Schleife ausgeführt, und die Iterationsanweisung wird ausgeführt. Andererseits wird die Bedingung überprüft, um zu wissen, ob die Schleife weiter iteriert oder beendet wird.


In Java können die Initialisierungsanweisung und die Iterationsanweisung mehr als eine Anweisung enthalten. Jede Anweisung ist durch ein Komma voneinander getrennt, in Java ist ein Komma ein Trennzeichen, während in C ++ ein Operator, der in jedem gültigen Ausdruck verwendet werden kann, „Komma“ ist.

for-each-Schleife und ihre Syntax

Das For-Each-Formular ist eine erweiterte For-Schleife. Die allgemeine Form der For-Each-Schleife lautet wie folgt.

for (Typ iter_variable: collection) Anweisungsblock

Hier gibt der „Typ“ den Typ der Iterationsvariablen an, gefolgt von der Iterationsvariablen. Die Iterationsvariable erhält das Element von der Erfassungsvariablen. Der Typ muss mit dem Typ der in der Auflistungsvariablen gespeicherten Elemente übereinstimmen. Die for-each-Form der for-Schleife automatisiert die Iteration der Schleife vom Anfang bis zum Ende des Zugriffs auf die Werte in sequentieller Reihenfolge.

Beispiel

Es gibt verschiedene Arten von Auflistungen, die für for-Schleifen verwendet werden. Lassen Sie uns dies mit einem Array als Sammlung diskutieren.

public class Main {public static void main (Zeichenkettenargumente) {int array = {10, 20, 30, 40, 50, 60}; int add = 0; for (int c: array) {System.out.ln ("Wert in c" + c); add = add + c; } System.out.ln ("das Hinzufügen von Array-Elementen ist" + add); }} // Ausgabewert in c 10 Wert in c 20 Wert in c 30 Wert in c 40 Wert in c 50 Wert in c 60 Addition von Array-Elementen ist 210

Hier ist "c" eine Iterationsvariable. Es empfängt die Werte einzeln vom Array vom niedrigsten zum höchsten Index im Array. Hier iteriert die Schleife, bis alle Elemente des Arrays untersucht wurden. Es ist möglich, die Schleife zwischendurch mit "break" zu beenden. Die Änderung der Iterationsvariablen wirkt sich jedoch nicht auf das Array aus, da es sich nur um eine schreibgeschützte Variable handelt.

Definition von while-Schleife

Das während loop ist die grundlegendste in C ++ und Java verfügbare Schleife. Die Arbeitsweise einer while-Schleife ist in C ++ und Java ähnlich.

Syntax

Die Deklaration einer while-Schleife lautet wie folgt

while (Bedingung) {Anweisungen; // Körper der Schleife}

Die while-Schleife prüft zunächst die Bedingung und führt dann die Anweisungen aus, bis sich herausstellt, dass die Bedingung in der while-Schleife wahr ist. Die Bedingung in der while-Schleife kann ein beliebiger boolescher Ausdruck sein. Wenn ein Ausdruck einen Wert ungleich Null zurückgibt, ist die Bedingung wahr, und wenn der Ausdruck einen Wert null zurückgibt, wird die Bedingung falsch.

Wenn die Bedingung wahr wird, iteriert sich die Schleife von selbst, und wenn die Bedingung falsch wird, geht die Steuerung zur nächsten Codezeile über, auf die die Schleife unmittelbar folgt. Die Anweisungen oder die Body-Schleife können entweder eine leere Anweisung oder eine einzelne Anweisung oder ein Anweisungsblock sein.

Beispiel

Lassen Sie uns die Arbeitsweise einer while-Schleife diskutieren. Im folgenden Beispiel reicht der Code von 1 bis 10.

// Beispiel ist in Java. public class Main {public statisch void main (String args) {int n = 0; während (n <10) {n ++; System.out.ln ("n =" + n); }}} // Ausgabe n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10

Hier ist der Anfangswert von 'n' 0, wodurch die Bedingung in der while-Schleife wahr wird. Das Steuerelement gibt dann den Rumpf der while-Schleife ein und der Wert von "n" wird entsprechend der ersten Anweisung im Rumpf einer while-Schleife erhöht. Wenn der Wert von 'n' geändert wird, kehrt die Steuerung zu der Bedingung in einer while-Schleife zurück, jetzt ist der Wert von 'n' 1, was wiederum die Bedingung erfüllt, und der Hauptteil der Schleife wird erneut ausgeführt. Dies setzt sich fort, bis die Bedingung wahr ist. Sobald die Bedingung falsch wird, wird die Schleife beendet.

Wie die for-Schleife kann auch die while-Schleife die Steuervariable oben in der Schleife initialisieren, d. H. Während der Zustandsprüfung.

// zum Beispiel while ((ch = getchar ())! = A) {System.out.ln ("Das Eingabealphabet" + ch); }

Hier wird die Steuervariable 'ch' initialisiert und der Zustand der Schleife oben in der Schleife überprüft.

Hinweis:

Kann es sich um eine for-Schleife oder eine while-Schleife handeln, sind die geschweiften Klammern in dieser Bedingung nicht erforderlich, wenn sich nur eine Anweisung im Textkörper der Schleife befindet.

  1. Im zum Schleife, Initialisierung, Bedingungsüberprüfung und Inkrementieren oder Dekrementieren der Iterationsvariablen erfolgen explizit nur in der Syntax einer Schleife. Im Gegensatz dazu, in der während loop Wir können nur Bedingungen in der Syntax der Schleife initialisieren und überprüfen.
  2. Wenn uns die Anzahl der Iterationen bekannt ist, die bei der Ausführung einer Schleife auftreten müssen, verwenden wir zum Schleife. Wenn uns andererseits die Anzahl der Iterationen, die in einer Schleife auftreten müssen, nicht bekannt ist, verwenden wir während Schleife.
  3. Wenn Sie die Bedingungsanweisung nicht eingeben zum Schleife, es wird zu einer unendlichen Iteration einer Schleife führen. Im Gegensatz dazu, wenn Sie die Bedingungsanweisung nicht in das Feld einfügen während Schleife wird es zu einem Kompilierungsfehler führen.
  4. Die Initialisierungsanweisung in der Syntax von zum Schleife wird nur einmal am Anfang der Schleife ausgeführt. Umgekehrt, wenn während Die Schleife enthält die Initialisierungsanweisung in ihrer Syntax. Die Initialisierungsanweisung in der while-Schleife wird jedes Mal ausgeführt, wenn die Schleife wiederholt wird.
  5. Die Iterationsanweisung in der zum loop wird ausgeführt, nachdem der body for loop ausgeführt wurde. Im Gegenteil, die Iterationsanweisung kann an einer beliebigen Stelle im Hauptteil von geschrieben werden während Es kann also einige Anweisungen geben, die nach der Ausführung der Iterationsanweisung im Rumpf der while-Schleife ausgeführt werden.

Fazit:

Die for-Schleife und die while-Schleife sind beide Iterationsanweisungen, haben jedoch beide unterschiedliche Merkmale. Die for-Schleife hat ihre gesamte Deklaration (Initialisierung, Bedingung, Iteration) am oberen Rand des Schleifenkörpers. Im Gegensatz dazu befinden sich in while-Schleifen nur Initialisierung und Bedingung am Anfang des Schleifenkörpers, und die Iteration kann an einer beliebigen Stelle im Schleifenkörper geschrieben werden.