如何在Java中退出while循环?

在Java中退出/终止while循环的最佳方法是什么?

例如,我的代码目前如下所示:

while(true){ if(obj == null){ // I need to exit here } } 

使用break

 while (true) { .... if (obj == null) { break; } .... } 

但是,如果你的代码看起来你指定的完全一样,你可以使用一个普通的while循环,并将条件改为obj != null

 while (obj != null) { .... } 
 while(obj != null){ // statements. } 

break是你在找什么:

 while (true) { if (obj == null) break; } 

或者,重构你的循环:

 while (obj != null) { // do stuff } 

要么:

 do { // do stuff } while (obj != null); 

寻找一段while...do在我的代码中while(true)构造会使我的眼睛stream血。 改为使用标准while循环:

 while (obj != null){ ... } 

然后看看雅各比在答复中提供的链接,以及这个。 认真。

while和do-while语句

查看Oracle的Java™教程 。

但基本上,正如dacwe所说的那样 ,使用break

如果可以的话,避免使用中断并将检查作为while循环的条件或使用类似do while循环的东西通常会更清楚。 但这并不总是可能的。

您可以在while()检查中使用与任何逻辑检查中相同的规则执行多个条件逻辑testing。

 while ( obj != null && True ) { // do stuff } 

工作,一样

 while ( value > 5 && value < 10 ) { // do stuff } 

是有效的。 在循环的每次迭代中检查条件。 只要一个不匹配,while()循环就退出。 你也可以使用break;

 while ( value > 5 ) { if ( value > 10 ) { break; } ... } 

您可以使用上面的答案中已经提到的“break”。 如果你需要返回一些值。 你可以像下面的代码一样使用“return”

  while(true){ if(some condition){ do something; return;} else{ do something; return;} } 

在这种情况下,这是在一种正在返回某种值的方法下。

如果你写的是(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; } } }