Once the execution of a loop statement in a program starts, it keeps repeating the execution of loop instructions as far as a given condition is true.
Sometimes it may be required to break the execution flow in between. To break the execution flow of a loop, java provides a keyword called as
break. It can be used
inside for, while, do while and switch statements only. As soon as
a break statement encountered in a loop, the execution of that loop get's terminated and the control
flow jumps to the next statements after the loop body. It is mostly used along with conditional statements(if,
else). The syntax of break statement is:
break;
Control flow diagram of break statement
Once the break statement is executed, the remaining statements which are after the break and within the loop are skipped.
Java break statement has two forms, labeled and unlabeled. Following program shows unlabeled
break statement.
break Statement program in Java
classBreakStatement {public static voidmain(String [] args) {for(inti=1; i<=5; i++) {if(i==4) {break; } System.out.println("i = "+i); } System.out.println("line after for loop"); } }
Output:
i = 1
i = 2
i = 3
line after for loop
In above example, as soon as the value of i becomes 4, the break statement is executed and the
control flow jumps to next line(System.out.println("line after for loop");) after the for loop, that is why value
4 and 5 is not printed.
What if I use break statement outside of loop or switch statement ?
Your program won't compile, it will throw compilation error.
Does break Break Out all loops ?
No, It breaks only the current loop in which it is used.
If break statement is used inside any inner loop, it breaks only inner loop once it is executed and the execution flow moves to the next line after inner loop. The
outer loop will be executed as usual.
classInnerLoopBreakStatement {public static voidmain(String [] args) {for(inti=1; i<=3; i++) { System.out.println("Outer loop i = "+i);for(intj=1; j<=5; j++) {if(j==3) {break; } System.out.println("j = "+j); } } System.out.println("line after outer for loop"); } }
Output:
Outer loop i = 1
j = 1
j = 2
Outer loop i = 2
j = 1
j = 2
Outer loop i = 3
j = 1
j = 2
line after outer for loop
Labeled break Statement
A label is an identifier, from java SE 5 and above we can declare a set of statements with a label
identifier. Labeled break statement allows programmer to break the execution of label statements.
classLabeledBreakStatement {public static voidmain(String [] args) { firstLable:for(inti=1;i<=3;i++) { System.out.println("Outer loop i = "+i); secondLabel:for(intj=1;j<=5;j++) {if(i==2 && j==2) {breakfirstLable; } System.out.println(" j = "+j); } } System.out.println("line after labeled break statement"); } }
Output:
Outer loop i = 1
j = 1
j = 2
j = 3
j = 4
j = 5
Outer loop i = 2
j = 1
line after labeled break statement
In above example as soon as the value of i and j becomes 2 the statement break firstLable
is executed which breaks the firstLable statements and the execution moves to the next line which is
System.out.println("line after labeled break statement");
See java switch statement tutorial for how break statement is used with switch statement in java.
- break statement cannot be used outside of a loop or a switch statement. If used, it will throw a compile time error.
- Ensure every letter of break keyword is small, can not use Break, BREAK, breaK etc.
- You can also place curly braces {} after label identifier to declare statements inside it.


