Suche…


Syntax

  • for (Deklaration, Bedingung, Iteration) {}
  • while (Bedingung) {}
  • {} while (Bedingung)

Bemerkungen

General Remark Wenn Sie eine Schleife erstellen möchten, um darauf zu warten, dass etwas passiert, sind Sie hier wahrscheinlich auf dem falschen Weg. Denken Sie vielmehr daran, dass der gesamte Code nach setup () von einer Methode namens loop () ausgeführt wird. Wenn Sie also auf etwas warten müssen, ist es am einfachsten, nichts (oder nur andere unabhängige Dinge) zu tun und beim nächsten Mal nach der Wartebedingung zu suchen.

do { } while(condition) wertet die Bedingungsanweisung erst nach der ersten Iteration aus. Dies ist wichtig zu beachten, wenn die Bedingungsanweisung Nebenwirkungen hat.

Während

Eine while Schleife wertet ihre Bedingung aus, und wenn sie true , wird der Code darin ausgeführt und neu gestartet. Das heißt, solange die Bedingung true , wird die while Schleife immer wieder ausgeführt.


Diese Schleife wird 100 Mal ausgeführt, wobei jedes Mal 1 zur Variablen num hinzugefügt wird:

int num = 0;
while (num < 100) {
    // do something
    num++;
}

Die obige Schleife entspricht einer for Schleife:

for (int i = 0; i < 100; i++) {
    // do something
}

Diese Schleife wird für immer ausgeführt:

while (true) {
    // do something
}

Die obige Schleife entspricht einer for Schleife:

for (;;) {
    // do something
}

Zum

for Schleifen sind vereinfachte Syntax für ein sehr verbreitetes Schleifenmuster, das mit einer while Schleife in mehreren Zeilen ausgeführt werden könnte.

Das Folgende ist ein allgemeines Beispiel für eine for Schleife, die 100 Mal ausgeführt und dann gestoppt wird.

for (int i = 0; i < 100; i++) {
    // do something
}

Dies entspricht einer while Schleife:

int num = 0;
while (num < 100) {
    // do something
    num++;
}

Sie können eine Endlosschleife erstellen, indem Sie die Bedingung auslassen.

for (;;) {
    // do something
}

Dies entspricht einer while Schleife:

while (true) {
    // do something
}

Mach ... während

Eine do while Schleife ist die gleiche wie eine while Schleife, mit der Ausnahme, dass sie mindestens einmal ausgeführt wird.

Die folgende Schleife wird 100 Mal ausgeführt.

int i = 0;
do {
    i++;
} while (i < 100);

Eine ähnliche Schleife, jedoch mit einer anderen Bedingung, wird 1 Mal ausgeführt.

int i = 0;
do {
    i++;
} while (i < 0);

Wenn die obige Schleife nur eine while Schleife wäre, würde sie 0-mal ausgeführt, da die Bedingung vor der ersten Iteration als false ausgewertet würde. Da es sich um eine do while -Schleife handelt, wird sie einmal ausgeführt und überprüft dann den Zustand, bevor sie erneut ausgeführt wird.

Ablaufsteuerung

Es gibt verschiedene Möglichkeiten, den Fluss einer Schleife zu unterbrechen oder zu ändern.

break; beendet die aktuelle Schleife und führt keine weiteren Zeilen innerhalb dieser Schleife aus.

continue; führt innerhalb der aktuellen Iteration der Schleife keinen weiteren Code aus, sondern verbleibt in der Schleife.

Die folgende Schleife wird aufgrund der break Anweisung 101 mal (i = 0, 1, ..., 100) anstelle von 1000 ausgeführt:

for (int i = 0; i < 1000; i++) {
    // execute this repeatedly with i = 0, 1, 2, ...
    if (i >= 100) {
        break;
    }
}

Die folgende Schleife führt dazu, dass der Wert von j wegen der continue Anweisung 50 statt 100 ist:

int j=0;
for (int i = 0; i < 100; i++) {
    if (i % 2 == 0) { // if `i` is even
        continue;
    }
    j++;
}
// j has the value 50 now.


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow