走出前线

时间:2017-02-22 08:10:34

标签: java php foreach break

我的C ++老师曾告诉我,如果我必须使用休息时间来摆脱循环,我对循环条件没有足够的思考。

她(非常好的老师顺便说一下)也没有提到foreach循环是这个规则的一个例外(我一般认为这是真的)或者确实有一种方法可以摆脱foreach循环而不使用休息?

我一般都在问,但对我来说最有趣的是Java或PHP。

编辑: 如果我没有说清楚,我想知道是否有办法摆脱foreach循环而不使用休息。不确定整个骚动是什么,这个问题有什么问题?

1 个答案:

答案 0 :(得分:1)

foreach循环没有任何退出条件,除了隐含的"当没有更多的项目要迭代时,#34;因此不可能提前淘汰它们同时避免break而不使用某种可怕的黑客(例如抛出异常,修改迭代集合,设置布尔标志dontContinue并在每次迭代中检查它等)。

对于普通循环,确实总有一种明显的方法可以避免使用break(使用continue的{​​{1}}停止当前迭代,并将早期退出条件置于循环中#39 ; s条件),然而这种方法是否导致代码比使用if更易读的代码是有争议的。

在某些情况下,你想要提前摆脱循环的原因是因为你完成了任何需要完成的任务,或者找到了所需的项目。在这种情况下,请考虑将特定功能放在单独的方法中,并使用break代替return