如何在 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 循环?的主要内容,如果未能解决你的问题,请参考以下文章

如何退出两个嵌套循环? [复制]

如何根据 C 函数中函数的输入退出 while 循环?

如何在while循环中手动中断光标?

使用外部事件退出 while 循环

while true 如何退出循环

当read()阻塞时如何退出while循环