Java 走出困境 我的C++老师曾经告诉我,如果我必须用一个句柄来跳出循环,我就不太想知道循环条件。

Java 走出困境 我的C++老师曾经告诉我,如果我必须用一个句柄来跳出循环,我就不太想知道循环条件。,java,php,foreach,break,Java,Php,Foreach,Break,那么,她(非常好的老师顺便说一句)是不是没有提到foreach循环是这条规则的一个例外(我通常认为这是正确的),或者确实有一种不使用中断的方法来摆脱foreach循环 我一般都在问,但对我来说最有趣的是Java或PHP 编辑: 如果我没有说清楚的话,我想知道是否有一种方法可以不使用中断就跳出foreach循环。不确定这整个骚动是关于什么的,这个问题有什么问题?foreach循环没有任何退出条件,除非隐含“当没有更多的项目可迭代时”,因此不可能在避免中断时提前中断,而不使用某种可怕的黑客(例如,引

那么,她(非常好的老师顺便说一句)是不是没有提到foreach循环是这条规则的一个例外(我通常认为这是正确的),或者确实有一种不使用中断的方法来摆脱foreach循环

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

编辑:
如果我没有说清楚的话,我想知道是否有一种方法可以不使用中断就跳出foreach循环。不确定这整个骚动是关于什么的,这个问题有什么问题?

foreach
循环没有任何退出条件,除非隐含“当没有更多的项目可迭代时”,因此不可能在避免
中断时提前中断,而不使用某种可怕的黑客(例如,引发异常、修改迭代集合、设置布尔标志
dontcontcontinue
并在每次迭代中检查它,等等)

对于普通循环,确实总是有一种明显的方法可以避免使用
break
(使用
continue
if
停止当前迭代,并将早期退出条件放入循环的条件中),但是这种方法是否会导致比使用
break
更可读的代码仍有争议



在某些情况下,你想提前退出循环的原因是因为你完成了需要完成的任务,或者找到了需要的项目。在这种情况下,考虑将特定的功能放在一个单独的方法中,并使用<代码>返回<代码>,而不是<代码>破解< /代码>。事实上是吗?我不确定我是否明白你的问题…是的,我已经实现了foreach循环…?我不同意你的老师的观点。也许在定义明确的练习和问题的学术世界中,她是有道理的。但在不可预测的用户和海量数据集的现实世界中,当你知道没有控制的时候,就打破了循环uing通常是你拥有的最干净的解决方案。你是否在寻找一种从循环中突破的东西,但不是所谓的“突破”?仅仅是按照一位前老师的口头禅生活?PHP确实有一个

goto
语句可以做到这一点。我个人坚持
break
!她说,如果你的循环中有一个条件,那么met,触发一个中断你可以将这个条件与循环条件结合起来,因此不必使用中断。这是我已经想到的,因为它完全有意义。基本上只是想确认一下。谢谢