サーチ…
構文
- 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.