break

Description

break is used to exit from a for, while or do...while loop, bypassing the normal loop condition. It is also used to exit from a switch case statement.

Example Code

Example with For Loop

Example 1

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 < 1000; i++) { Serial.print("Inside the FOR loop: i = "); Serial.println(i); if(i > 3) break; } Serial.println("====== TEST END ========"); } void loop() {}

The result on Serial Monitor:

COM6
Send
====== TEST START ====== Inside the FOR loop: i = 1 Inside the FOR loop: i = 2 Inside the FOR loop: i = 3 ====== TEST END ========
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Example 2

The following code exits the for loop when the sensor value exceeds the threshold.

int threshold = 40; for (int x = 0; x < 255; x++) { analogWrite(PWMpin, x); sens = analogRead(sensorPin); if (sens > threshold) { // bail out on sensor detect x = 0; break; } delay(50); }

Example with While Loop

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 (true) { // while(true) means loop forever Serial.print("Inside the WHILE loop: i = "); Serial.println(i); if(i > 3) break; i++; // increase i by 1 } Serial.println("====== TEST END ========"); } void loop() { }

The result on Serial Monitor:

COM6
Send
====== TEST START ====== Inside the WHILE loop: i = 0 Inside the WHILE loop: i = 1 Inside the WHILE loop: i = 2 Inside the WHILE loop: i = 3 ====== TEST END ========
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Example with Do While Loop

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 { Serial.print("Inside the DO WHILE loop: i = "); Serial.println(i); if(i > 3) break; i++; // increase i by 1 } while (true); // while(true) means loop forever Serial.println("====== TEST END ========"); } void loop() { }

The result on Serial Monitor:

COM6
Send
====== 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 ====== TEST END ========
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Example with Switch Case

See example in switch...case

See Also

ARDUINO BUY RECOMMENDATION

Arduino UNO R3
Arduino Starter Kit
Please note: These are Amazon affiliate links. If you buy the components through these links, We will get a commission at no extra cost to you. We appreciate it.

※ OUR MESSAGES