3

是否可以在 while 循环中,返回到循环的开头?

像这样的东西

 while(this is true)
 {
      do stuff...
      if(this is true)
        {
            restart while loop;
        }
  }

增加清晰度:我的意思不是像重置变量那样重新启动,我的意思是在停止执行并继续下一次迭代的意义上重新启动。

4

3 回答 3

9

continue关键字会这样做

while(this is true)
 {
      do stuff...
      if(this is true)
        {
            continue;
        }
  }

基本上,continue当场停止循环的执行,然后继续循环的下一次迭代。您也可以使用其他循环(例如for循环)来执行此操作。

于 2012-07-12T17:33:50.853 回答
1

是的,有可能。Java 为循环或语句块提供标签,并且它必须位于语句之前。语法是identifier:

START: while(this is true)
 {
      do stuff...
      if(this is true)
        {
            continue START;
        }
  }


还有很多方法可以做到这一点,但我认为这是最简单的方法。

于 2012-07-12T17:52:54.567 回答
-2

[编辑] 误解了这个问题!如果您想重新启动循环,这将有效。

有很多方法可以做到这一点。您可以在函数中使用 while 循环并调用该函数。如:

public static void loop(){
       while(this is true)  {
              do stuff...
              if(this is true) {
                   loop();
                   break; <-- dont forget this!
              }
       } 
}
于 2012-07-12T17:37:19.717 回答