Szukaj…


Składnia

  • dla (deklaracja, warunek, iteracja) {}
  • while (warunek) {}
  • do {} while (warunek)

Uwagi

General Remark Jeśli zamierzasz utworzyć pętlę, aby poczekać, aż coś się wydarzy, prawdopodobnie jesteś na niewłaściwym torze. Pamiętaj raczej, że cały kod po setup () jest uruchamiany z metody zwanej loop (). Więc jeśli musisz na coś poczekać, najłatwiej jest nic nie robić (lub tylko inne niezależne rzeczy) i wrócić w celu sprawdzenia stanu oczekiwania następnym razem.

do { } while(condition) nie oceni instrukcji warunku przed pierwszą iteracją. Należy o tym pamiętać, jeśli oświadczenie o stanie ma skutki uboczne.

Podczas

while pętla oceni jego stan, a jeśli true , to wykonać wewnątrz kodu i zacząć od nowa. Oznacza to, że tak długo, jak jego warunek jest true , while pętla wykona kółko.


Ta pętla zostanie wykonana 100 razy, za każdym razem dodając 1 do zmiennej num :

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

Powyższa pętla jest równoważna pętli for :

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

Ta pętla będzie działać wiecznie:

while (true) {
    // do something
}

Powyższa pętla jest równoważna pętli for :

for (;;) {
    // do something
}

Dla

for pętelki są uproszczone składnię bardzo często wzór pętla, co może być dokonane w kilku liniach o while pętli.

Poniżej przedstawiono typowy przykład pętli for , która wykona się 100 razy, a następnie zatrzyma się.

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

Jest to równoważne z while pętli:

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

Możesz utworzyć nieskończoną pętlę, pomijając warunek.

for (;;) {
    // do something
}

Jest to równoważne z while pętli:

while (true) {
    // do something
}

Czy ... Podczas

do while pętla jest taka sama jak while pętli, oprócz tego, że jest ona gwarantowana wykonać co najmniej jeden raz.

Następująca pętla zostanie wykonana 100 razy.

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

Podobna pętla, ale z innym warunkiem, zostanie wykonana 1 raz.

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

Gdyby powyższa pętla była tylko while pętlą, wykonałaby 0 razy, ponieważ warunek miałby wartość false przed pierwszą iteracją. Ale ponieważ jest to do while pętla, wykonuje jeden raz, a następnie sprawdza jego stan przed wykonaniem ponownie.

Kontrola przepływu

Istnieje kilka sposobów na przerwanie lub zmianę przepływu w pętli.

break; wyjdzie z bieżącej pętli i nie wykona więcej linii w tej pętli.

continue; nie wykona żadnego kodu w bieżącej iteracji pętli, ale pozostanie w pętli.

Następująca pętla wykona 101 razy (i = 0, 1, ..., 100) zamiast 1000, z powodu instrukcji break :

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

Następująca pętla spowoduje, że wartość j będzie j 50 zamiast 100, z powodu continue instrukcji:

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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow