break语句是断开循环还是仅断开if语句?

在下面的代码中, break语句是断开if语句还是断开for循环?

我也需要它来摆脱循环。

 for (int i = 0; i < 5; i++) { if (i == temp) // do something else { temp = i; break; } } 

这将打破for循环。 事实上, break在谈论loops时才有意义,因为它们完全从loop断开,而continue只进入下iteration

一个未标记的break只会突破封闭switchforwhiledo-while构造。 它不需要考虑if语句。

有关详细信息,请参阅http://download.oracle.com/javase/tutorial/java/nutsandbolts/branch.html 。

它也走出了循环。

您还可以使用可以突破外部循环(和任意代码块)的带标记的中断。

 looplbl: for(int i=;i<;i++){ if (i == temp) // do something else { temp = i; break looplbl; } } 

它打破了循环,但为什么不明确地将条件放在for?中呢? 它会更具可读性,您根本不必编写if语句

(如果我= = temp然后temp = i完全没有意义)

它总会突破循环。

Break永远不会引用if / else语句。 它只引用循环(if / while)和switch语句。

break是打破任何循环。

通常, break语句会中断循环( forwhiledo...while )和switch语句。

在Java中有2个break变体。

1. Labeled break

它打破了你放置标签的外环。

 breakThis: for(...){ for(...){ ... break breakThis; // breaks the outer for loop } } 

2. Unlabeled break

这是您在问题中使用的陈述。

它打破了编写循环。 一般内循环。