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
只会突破封闭switch
, for
, while
或do-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
语句会中断循环( for
, while
, do...while
)和switch
语句。
在Java中有2个break
变体。
1. Labeled break
它打破了你放置标签的外环。
breakThis: for(...){ for(...){ ... break breakThis; // breaks the outer for loop } }
2. Unlabeled break
这是您在问题中使用的陈述。
它打破了编写循环。 一般内循环。