do... while
do...while 루프는 조건이 루프 끝에서 테스트되는 것을 제외하면 while 루프와 같은 방법으로 동작하므로, 루프는 적어도 한번 돈다.
int x = 0;
do
{
} while (condition);
condition 은 true 또는 false 를 계산하는 부울 식이다.
void setup() {
Serial.begin(9600);
Serial.println("====== TEST START ======");
int i = 0;
do {
Serial.print("Inside the DO WHILE loop: i = ");
Serial.println(i);
i++;
} while (i < 5);
Serial.println("====== TEST END ========");
}
void loop() {
}
시리얼 모니터에 결과:
====== TEST START ======
Inside the DO WHILE loop: i = 0
Inside the DO WHILE loop: i = 1
Inside the DO WHILE loop: i = 2
Inside the DO WHILE loop: i = 3
Inside the DO WHILE loop: i = 4
====== TEST END ========
int x = 0;
do {
delay(50);
x = readSensors();
} while (x < 100);
The while loop checks the condition before executing the block of code; conversely, the do while loop checks the condition after executing the block of code. Therefore, the do while loop will always be executed at least once, even if the condition is false at the beginning.
The do...while and while loop are the same, except for the case in which the condition is false at the beginning.
For example:
void setup() {
Serial.begin(9600);
Serial.println("====== TEST START ======");
int i = 10;
do {
Serial.print("Inside the DO WHILE loop: i = ");
Serial.println(i);
i++;
} while (i < 5);
Serial.println("====== TEST END ========");
}
void loop() {
}
====== TEST START ======
Inside the DO WHILE loop: i = 10
====== TEST END ========
void setup() {
Serial.begin(9600);
Serial.println("====== TEST START ======");
int i = 10;
while (i < 5) {
Serial.print("Inside the DO WHILE loop: i = ");
Serial.println(i);
i++;
}
Serial.println("====== TEST END ========");
}
void loop() {
}
====== TEST START ======
====== TEST END ========
※ 주의 및 경고:
There are three ways to escape the do while loop:
※ ARDUINO BUY RECOMMENDATION
Disclosure: Some links in this section are Amazon affiliate links. If you make a purchase through these links, we may earn a commission at no extra cost to you.
Additionally, some links direct to products from our own brand, DIYables.