サーチ…


構文

  • for(宣言、条件、反復){}
  • while(条件){}
  • do {} while(条件)while

備考

General Remark何かが起こるのを待つためにループを作成しようとするなら、あなたはおそらく間違った方向にいるでしょう。 setup()の後のすべてのコードは、loop()というメソッドから実行されます。ですから、何かを待つ必要がある場合は、何もしない(または他の独立したものだけを行う)のが最も簡単で、次回の待機状態を確認するために戻ってくるのが最も簡単です。

do { } while(condition)は、最初の繰り返しの後まで条件文を評価しません。条件文に副作用がある場合は、これを覚えておくことが重要です。

whileループは条件を評価し、 true場合はコードを内部で実行してやり直します。つまり、条件がtrueと評価される限り、 whileループは繰り返し実行されます。


このループは、変数num 1を加えるたびに100回実行されます。

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

上記のループはforループと同じfor

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

このループは永遠に実行されます:

while (true) {
    // do something
}

上記のループはforループと同じfor

for (;;) {
    // do something
}

にとって

forループは非常に一般的なループパターンのシンタックスを簡略化したもので、 whileループでより多くの行を処理できます。

以下は、100回実行して停止するforループの一般的な例です。

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

whileループと同じです:

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

条件を省略して無限ループを作成することができます。

for (;;) {
    // do something
}

whileループと同じです:

while (true) {
    // do something
}

一方を行います

do whileループは同じであるwhile 、少なくとも1回実行することが保証されていることを除いて、ループ。

次のループは100回実行されます。

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

同様のループで条件は異なりますが、1回実行されます。

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

上記のループが単にwhileループだった場合、最初の反復の前に条件がfalseに評価されるため、0回実行されます。しかし、それはdo whileループなので、一度実行してから再度実行する前に条件をチェックします。

フロー制御

ループの流れを破るか変更するにはいくつかの方法があります。

break;現在のループを終了し、そのループ内でこれ以上行を実行しません。

continue;ループの現在の反復でコードを実行することはありませんが、ループ内に残ります。

次のループは、 breakステートメントのために1000の代わりに101回(i = 0,1、...、100)を実行します。

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

次のループは、 continueステートメントのために、 jの値が100ではなく50になるようにします。

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
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow