我怎么能突破'一个while循环,但仍然做while循环?

时间:2014-07-03 08:36:15

标签: 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){
    boolean stopPoop = false;
    if (player.isAwesome()){
        stopPoop = true;
    }
    if (!stopPoop){
        poop = false;
    }
}

然而,这有点混乱和不方便,我想知道是否有更好的方法?

4 个答案:

答案 0 :(得分:5)

boolean poop = true;
while (poop){
    if (player.isAwesome()){
        //Continue doing while loop but do not execute below code
        continue;
    }
    poop = false;
}

是的,正确使用continue关键字。如果您想要摆脱循环,可以使用break关键字

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

答案 1 :(得分:5)

我不认为需要大便变量。 你不能用它。

while (player.isAwesome()){

    Continue doing while loop but do not execute below code
}

答案 2 :(得分:4)

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

do {
    if (player.isAwesome()){
        //Continue doing while loop but do not execute below code
        continue;
    }
    // This code will only execute once
} while (false);

这消除了对布尔标志的需要,该标志污染了循环外的范围。

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

答案 3 :(得分:1)

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

continue;

在您需要转到while循环检查语句的行。所以:

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