开发者

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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜