Chapter 18: break Statement in Java
This chapter is only about break: stop the innermost switch or loop you are inside, and jump after that construct. continue is Chapter 19.
1. Topic title
break: exiting for / while / do-while / switch early—and labeled break
2. What it means
Inside a loop, break means: “stop looping now; jump to the first line after the loop body.”
Inside switch (classic style), break prevents fall-through to the next case (Chapter 14).
Labeled break can exit an outer loop by name:
outer: for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (i * j > 6) {
break outer;
}
System.out.print("(" + i + "," + j + ") ");
}
}Rare in application code; useful to know for reading older sources or contest-style snippets.
3. Why it is used
Sometimes the cleanest way to express logic is “scan until you find it, then stop”: first prime in a list, first invalid row, first matching user ID. A break avoids extra boolean found flags in small programs.
Overuse makes control flow jumpy—balance with early return from methods when that reads better.
4. Real-world example
Linear search: loop through an array index; when arr[i] == target, print index and break. If the loop ends without break, print “not found.”
5. Java code example
public class BreakDemo {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
if (i == 4) {
break;
}
System.out.print(i + " ");
}
System.out.println("(stopped before 4)");
int n = 0;
while (true) {
System.out.println("n = " + n);
n++;
if (n == 3) {
break;
}
}
int[] values = {3, 1, 4, 1, 5};
int target = 4;
for (int idx = 0; idx < values.length; idx++) {
if (values[idx] == target) {
System.out.println("Found " + target + " at index " + idx);
break;
}
}
}
}Output: first line prints 0 1 2 3 then message; while (true) runs until n == 3; search prints index of 4.
6. Explanation of code
- First loop:
breakruns wheni == 4, so values 0–3 print; 4–9 never run. while (true)withbreakis a common pattern; you must guarantee reachablebreak(orreturn/ throw).- Search: without
break, you would keep printing matches for duplicate values—here we stop at first hit.
7. Common mistakes
break outside loop or switch — compile error.
Expecting break to exit a method — it only exits the innermost loop/switch; use return to leave a method.
Labeled break with wrong label — rare; copy-paste errors hurt.
Breaking out of nested logic when extracting a helper method with return would read cleaner.
8. Best practices
Prefer small loops where break is obvious; add a one-line comment // found when helpful.
Avoid many breaks in one loop—readers lose the thread.
Use return from private helpers for “find or bail” patterns in larger codebases.
9. Small practice task
Write a for loop from k = 2 to 20. Print each k. break the first time k is divisible by both 3 and 4 (hint: k % 3 == 0 && k % 4 == 0). Predict which k prints last before running.
Beginner tip
break and continue are not for if alone—only loops and switch. If your IDE complains, you are not inside a loop body.