[英]How can I 'break out' of a while loop but still do the while loop?
我希望有一個while循環,如果某個條件為true,請不要執行下面的代碼,然后繼續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
關鍵字
如果您有嵌套循環,則也可以繼續使用標簽。
我看不到需要poop變量。 你不能只用這個嗎
while (player.isAwesome()){
Continue doing while loop but do not execute below code
}
在諸如此類難以預測何時終止循環的情況下,我更喜歡使用
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)
因為隨着時間的流逝,以這種方式編寫的代碼的維護會引入無限循環。
我假設您正在使用Java進行編碼。 所有您需要做的就是寫
continue;
在這一行中,您需要轉到while循環檢查語句。 所以:
boolean poop
while (poop){
if (player.isAwesome()){
continue;
}
poop = false;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.