Arduinoの繰り返しに関する命令
Arduinoで繰り返し処理を行うための主な命令です。これらは、プログラム内で同じ処理を複数回実行するために使用されます。
- for ループ
- while ループ
- do-while ループ
- break
- continue
for ループ
特定の回数だけ繰り返し処理を行う際に使用します。
構文
for (初期化; 条件; 更新) {
// 繰り返し実行するコード
}
- 初期化: ループ開始時に一度だけ実行(例:
int i = 0)
- 条件: 条件が真(
true
)の間、ループが続く(例:i < 5
) - 更新: 各ループの最後で実行(例:
i++
)
例
void setup() {
Serial.begin(9600);
for (int i = 0; i < 5; i++) {
Serial.println(i); // 0, 1, 2, 3, 4 を出力
}
}
void loop() {}
while ループ
条件が真である限り繰り返し処理を行います。
構文
while (条件) {
// 繰り返し実行するコード
}
- 条件が
true
の間、ループが継続。 - 条件が
false
になるとループを抜けます。
例
void setup() {
Serial.begin(9600);
int i = 0;
while (i < 5) {
Serial.println(i); // 0, 1, 2, 3, 4 を出力
i++;
}
}
void loop() {}
do-while ループ
条件をチェックする前に、少なくとも1回は処理を実行し、その後条件が真である限り繰り返します。
構文
do {
// 繰り返し実行するコード
} while (条件);
- 最初に処理を実行し、ループの最後に条件をチェック。
- 条件が
true
なら再びループを実行。
例
void setup() {
Serial.begin(9600);
int i = 0;
do {
Serial.println(i); // 0, 1, 2, 3, 4 を出力
i++;
} while (i < 5);
}
void loop() {}
break
ループを途中で終了し、ループの外に処理を移します。
例
void setup() {
Serial.begin(9600);
for (int i = 0; i < 10; i++) {
if (i == 5) {
break; // iが5のときループを終了
}
Serial.println(i); // 0, 1, 2, 3, 4 を出力
}
}
void loop() {}
continue
現在のループの処理をスキップし、次のループに進みます。
例
void setup() {
Serial.begin(9600);
for (int i = 0; i < 5; i++) {
if (i == 3) {
continue; // iが3のとき、その回をスキップ
}
Serial.println(i); // 0, 1, 2, 4 を出力
}
}
void loop() {}
注意点
- 無限ループ:
while(true)
やfor(;;)
を使うと、意図的に無限ループを作成可能。ただし、loop()
関数自体が無限ループとして動作するため、通常はloop()
内で処理を管理。 - 遅延: 繰り返し内で
delay()
を使用すると、プログラムの応答性が低下する場合があるので注意。 - 変数のスコープ: forループ内で定義した変数(例: int i)はループ内でしか使えない。ループ外で使用する場合は、ループの外で定義。
コメント