Does the break statement break out of loops or only out of if statements?
In开发者_高级运维 the following code, does the break
statement break out of the if
statement only or out of the for
loop too?
I need it to break out of the loop too.
for (int i = 0; i < 5; i++) {
if (i == temp)
// do something
else {
temp = i;
break;
}
}
That would break out of the for loop. In fact break
only makes sense when talking about loops
, since they break from the loop
entirely, while continue
only goes to the next iteration
.
An unlabelled break
only breaks out of the enclosing switch
, for
, while
or do-while
construct. It does not take if
statements into account.
See http://download.oracle.com/javase/tutorial/java/nutsandbolts/branch.html for more details.
It also goes out of the loop.
You can also use labeled breaks that can break out of outer loops (and arbitrary code blocks).
looplbl: for(int i=;i<;i++){
if (i == temp)
// do something
else {
temp = i;
break looplbl;
}
}
It breaks the loop, but why not explicitly put the condition in the for itself? It would be more readable and you would not have to write the if statement at all
(if i==temp then temp = i is totally pointless)
It will break out of the loop always.
Break never refers to if/else statements. It only refers to loops (if/while) and switch statements.
break
is to break out of any loop.
Generally break
statement breaks out of loops (for
, while
, and do...while
) and switch
statements.
In Java there are 2 variant of break
.
1. Labeled break
It break outs of the outer loop where you put the lable.
breakThis: for(...){
for(...){
...
break breakThis; // breaks the outer for loop
}
}
2. Unlabeled break
It is the statement you used in your question.
It breaks the loop in which it is written. Generally inner loop.
It would break you out of the for loop. Generally break statement is used to optimise the running time of your program. Means when the given condition is met, use break statement so that it will take you out of the loop and ignores the remaining iterations.
精彩评论