擅长:python、mysql、java
<p>最接近的Java等价物是显式地跟踪是否使用<code>break</code>退出了循环。。。但实际上,在代码中并没有<em>包含</em>a<code>break</code>,所以首先使用while else是没有意义的。</p>
<p>对于不知道Python是什么的Java人员(和Python人员),如果循环结束时没有<code>break</code>,则在<code>while</code>循环上执行<code>else</code>子句。另一种思考方法是,如果<code>while</code>条件为false,它就会执行,就像使用<code>if</code>语句一样。</p>
<p>还有一段时间实际上有一个<code>break</code>:</p>
<pre><code>while whatever():
if whatever_else():
break
do_stuff()
else:
finish_up()
</code></pre>
<p>可以翻译成</p>
<pre><code>boolean noBreak = true;
while (whatever()) {
if (whateverElse()) {
noBreak = false;
break;
}
doStuff();
}
if (noBreak) {
finishUp();
}
</code></pre>