The continue statement skips the rest of the current iteration of a loop (for, while, or do...while). It continues by checking the conditional expression of the loop, and proceeding with any subsequent iterations.
The following code exits the for loop when the i greater than 3
void setup() {
Serial.begin(9600);
Serial.println("====== TEST START ======");
for (int i = 1; i < 5; i++) {
Serial.print("Inside the FOR loop: i = ");
Serial.print(i);
Serial.println(", start");
if(i > 2)
continue;
Serial.print("Inside the FOR loop: i = ");
Serial.print(i);
Serial.println(", end");
}
Serial.println("====== TEST END ========");
}
void loop() {}
The result on Serial Monitor:
====== TEST START ======
Inside the FOR loop: i = 1, start
Inside the FOR loop: i = 1, end
Inside the FOR loop: i = 2, start
Inside the FOR loop: i = 2, end
Inside the FOR loop: i = 3, start
Inside the FOR loop: i = 4, start
====== TEST END ========
The following code writes the value of 0 to 255 to the PWMpin, but skips the values in the range of 41 to 119.
for (int x = 0; x <= 255; x ++) {
if (x > 40 && x < 120) {
continue;
}
analogWrite(PWMpin, x);
delay(50);
}
The following code exits the while loop when the i greater than 3
void setup() {
Serial.begin(9600);
Serial.println("====== TEST START ======");
int i = 0;
while (i < 5) {
i++;
Serial.print("Inside the WHILE loop: i = ");
Serial.print(i);
Serial.println(", start");
if(i > 2)
continue;
Serial.print("Inside the WHILE loop: i = ");
Serial.print(i);
Serial.println(", end");
}
Serial.println("====== TEST END ========");
}
void loop() {
}
The result on Serial Monitor:
====== TEST START ======
Inside the WHILE loop: i = 1, start
Inside the WHILE loop: i = 1, end
Inside the WHILE loop: i = 2, start
Inside the WHILE loop: i = 2, end
Inside the WHILE loop: i = 3, start
Inside the WHILE loop: i = 4, start
====== TEST END ========
The following code exits the while loop when the i greater than 3
void setup() {
Serial.begin(9600);
Serial.println("====== TEST START ======");
int i = 0;
do {
i++;
Serial.print("Inside the DO WHILE loop: i = ");
Serial.print(i);
Serial.println(", start");
if(i > 2)
continue;
Serial.print("Inside the WHILE loop: i = ");
Serial.print(i);
Serial.println(", end");
} while (i < 5);
Serial.println("====== TEST END ========");
}
void loop() {
}
The result on Serial Monitor:
====== TEST START ======
Inside the DO WHILE loop: i = 1, start
Inside the DO WHILE loop: i = 1, end
Inside the DO WHILE loop: i = 2, start
Inside the DO WHILE loop: i = 2, end
Inside the DO WHILE loop: i = 3, start
Inside the DO WHILE loop: i = 4, start
====== TEST END ========