【问题标题】:How to break a while loop from an if condition inside the while loop?如何从while循环内的if条件中断while循环?
【发布时间】:2014-06-26 09:20:31
【问题描述】:

我想打破下面有 if 语句的格式的 while 循环。如果该 if 语句为真,则 while 循环也必须中断。任何帮助将不胜感激。

while(something.hasnext()) {
   do something...
   if(contains something to process){
      do something
      break if condition and while loop
   }
}

【问题讨论】:

  • 你在问题​​中说出了答案!
  • break if loop do while loop 让我很困惑。我以为有两个循环。
  • 你不能说if(true){break;}

标签: java if-statement while-loop break


【解决方案1】:

break 关键字正是这样做的。这是一个人为的例子:

public static void main(String[] args) {
  int i = 0;
  while (i++ < 10) {
    if (i == 5) break;
  }
  System.out.println(i); //prints 5
}

如果您实际使用的是嵌套循环,则可以使用to use labels

【讨论】:

  • @Codelearn14 你一直这么说,但不管你说多少次都是假的。
  • @Codelearn14 你能发布代码示例来证明你在说什么吗?也许if 的条件永远不会满足,从而阻止break 被调用。
  • 是的,我也这么认为。非常抱歉,感谢您的帮助
  • @Codelearn14 我添加了一个简单的示例,您可以运行它来确认行为。
  • 我真希望@Codelearn14 没有删除他们的 cmets,因为这个论点看起来很搞笑。
【解决方案2】:

“如果”不是循环。只需在 "if" 中使用 break,它就会从 "while" 中跳出。

如果您需要使用真正的嵌套循环,Java 具有标记中断的概念。你可以在循环之前放一个标签,然后用标签的名字作为参数来中断。它将在标记循环之外中断。

【讨论】:

    【解决方案3】:
    while(something.hasnext())
    do something...
       if(contains something to process){
          do something...
          break;
       }
    }
    

    只需使用break语句即可;

    例如:这只是打印“Breaking...”

    while (true) {
         if (true) {
             System.out.println("Breaking...");
             break;
         }
         System.out.println("Did this print?");
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-01
      • 2016-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-19
      相关资源
      最近更新 更多