如何在while循环中跳过迭代/循环

时间:2013-02-13 14:41:45

标签: java

是否有一种优雅的方法可以在while循环中跳过迭代?

我想做的是

  while(rs.next())
  {
    if(f.exists() && !f.isDirectory()){
      //then skip the iteration
     }
     else
     {
     //proceed
     }
  }

6 个答案:

答案 0 :(得分:45)

while(rs.next())
  {
    if(f.exists() && !f.isDirectory())
      continue;  //then skip the iteration

     else
     {
     //proceed
     }
  }

答案 1 :(得分:11)

虽然您可以使用continue,但为什么不反转if?

中的逻辑
while(rs.next())
{
    if(!f.exists() || f.isDirectory()){
    //proceed
    }
}

如果不满足else {continue;}条件,您甚至不需要if,因为它会继续。

答案 2 :(得分:8)

尝试将continue;添加到要跳过1次迭代的位置。

与break关键字不同,continue不会终止循环。相反,它会跳到循环的下一个迭代,并在此迭代中停止执行任何进一步的语句。这允许我们绕过当前序列中的其余语句,而不会停止循环中的下一次迭代。

http://www.javacoffeebreak.com/articles/loopyjava/index.html

答案 3 :(得分:6)

您正在寻找continue;声明。

答案 4 :(得分:4)

您不需要跳过迭代,因为其余部分位于else语句中,只有在条件不为真的情况下才会执行。

但是如果你真的需要跳过它,你可以使用continue;语句。

答案 5 :(得分:3)

while (rs.next())
{
  if (f.exists() && !f.isDirectory())
    continue;

  //proceed
}