如何在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; } } }