Java 我怎么能';突破';是while循环,但仍然执行while循环?

Java 我怎么能';突破';是while循环,但仍然执行while循环?,java,Java,我希望有一个while循环,如果某个条件为真,不要执行它下面的代码,然后继续while循环。 以下是一些伪代码: boolean poop while (poop){ if (player.isAwesome()){ Continue doing while loop but do not execute below code } poop = false; } 是的,我可以用这样的东西: boolean poop while (poop){ b

我希望有一个while循环,如果某个条件为真,不要执行它下面的代码,然后继续while循环。 以下是一些伪代码:

boolean poop
while (poop){
    if (player.isAwesome()){
        Continue doing while loop but do not execute below code
    }
    poop = false;
}
是的,我可以用这样的东西:

boolean poop
while (poop){
    boolean stopPoop = false;
    if (player.isAwesome()){
        stopPoop = true;
    }
    if (!stopPoop){
        poop = false;
    }
}
然而,这有点混乱和不方便,我想知道是否有更好的方法

boolean poop = true;
while (poop){
    if (player.isAwesome()){
        //Continue doing while loop but do not execute below code
        continue;
    }
    poop = false;
}
是的,没错,请使用
continue
关键字。如果您想打破循环,可以使用
break
关键字


如果您有嵌套循环,那么您也可以继续使用标签。

我假设您使用java进行编码。 你所需要做的就是写作

continue;
在第行,您需要转到while循环检查语句。因此:

boolean poop
while (poop){
    if (player.isAwesome()){
        continue;
    }
    poop = false;
}

在这样的情况下,很难预测何时应该终止循环,我更喜欢使用

do {
    if (player.isAwesome()){
        //Continue doing while loop but do not execute below code
        continue;
    }
    // This code will only execute once
} while (false);
这样就不需要布尔标志,因为它会污染循环外部的范围


我不鼓励(;)或
而(true)
使用
,因为随着时间的推移,以这种方式编写的代码的维护可能会引入无限循环。

我认为不需要poop变量。 你就不能用这个吗

while (player.isAwesome()){

    Continue doing while loop but do not execute below code
}

谢谢这很有效。显然我可以“你可以在5分钟内接受答案”,所以我会接受它。非常有趣。我一定会记住这一点!有趣的构造。在我的真实代码中,这正是我所做的,但是我认为使用已有的布尔示例来进行伪代码会更容易。我真正的代码是“while(stop==1 | | stop==1)”。仅就记录而言,1表示此人单击“取消”,另一个表示他们单击“关闭”。