如何在 Java 中退出 while 循环?
Posted
技术标签:
【中文标题】如何在 Java 中退出 while 循环?【英文标题】:How do I exit a while loop in Java? 【发布时间】:2011-12-18 14:20:27 【问题描述】:在 Java 中退出/终止 while 循环的最佳方法是什么?
例如我的代码目前如下:
while(true)
if(obj == null)
// I need to exit here
【问题讨论】:
【参考方案1】:使用break
:
while (true)
....
if (obj == null)
break;
....
但是,如果您的代码看起来完全与您指定的一样,您可以使用普通的while
循环并将条件更改为obj != null
:
while (obj != null)
....
【讨论】:
【参考方案2】:看看 Oracle 的Java™ Tutorials。
但基本上,作为dacwe said,使用break
。
如果可以的话,通常更清楚的是避免使用 break 并将检查作为 while 循环的条件,或者使用类似 do while 循环的东西。但这并不总是可行的。
【讨论】:
【参考方案3】:while(obj != null)
// statements.
【讨论】:
【参考方案4】:break
就是你要找的东西:
while (true)
if (obj == null) break;
或者,重构你的循环:
while (obj != null)
// do stuff
或:
do
// do stuff
while (obj != null);
【讨论】:
【参考方案5】:在我的代码中找到带有while(true)
的while...do
结构会让我眼花缭乱。改用标准的while
循环:
while (obj != null)
...
看看 Yacoby 在他的answer 中提供的链接,还有这个链接。严重地。
The while and do-while Statements
【讨论】:
【参考方案6】:您可以在 while() 检查中使用与任何逻辑检查中相同的规则进行多个条件逻辑测试。
while ( obj != null )
// do stuff
工作正常
while ( value > 5 && value < 10 )
// do stuff
有效。通过循环在每次迭代时检查条件。一旦不匹配,while() 循环就会退出。你也可以使用break;
while ( value > 5 )
if ( value > 10 ) break;
...
【讨论】:
【参考方案7】:您可以使用上面答案中已经提到的“break”。如果你需要返回一些值。您可以像下面的代码一样使用“return”:
while(true)
if(some condition)
do something;
return;
else
do something;
return;
在这种情况下,这个 while 位于返回某种值的方法下。
【讨论】:
【参考方案8】:如果你写 while(true)。这意味着循环在任何情况下都不会停止,要停止此循环,您必须在 while 块之间使用 break 语句。
package com.java.demo;
/**
* @author Ankit Sood Apr 20, 2017
*/
public class Demo
/**
* The main method.
*
* @param args
* the arguments
*/
public static void main(String[] args)
/* Initialize while loop */
while (true)
/*
* You have to declare some condition to stop while loop
* In which situation or condition you want to terminate while loop.
* conditions like: if(condition)break, if(var==10)break etc...
*/
/* break keyword is for stop while loop */
break;
【讨论】:
【参考方案9】:你可以使用“break”来打断循环,这样不会让循环处理更多的条件
【讨论】:
【参考方案10】:要退出 while 循环,请使用 Break;
这将不允许循环处理放置在其中的任何条件,请确保将其放在循环内,因为您不能将其放在循环外
【讨论】:
以上是关于如何在 Java 中退出 while 循环?的主要内容,如果未能解决你的问题,请参考以下文章