[英]Is there a way to break out of a while loop before the original condition is made false?
有沒有辦法在原始條件變為假之前突破while循環?
例如,如果我有:
while (a==true)
{
doSomething() ;
if (d==false) get out of loop ;
doSomething_that_i_don't_want_done_if_d_is_false_but_do_if_a_and_d_are_true() ;
}
有沒有辦法做到這一點?
break
是你正在尋找的命令。
並且不要與布爾常量相比 - 它實際上只是模糊了你的意思。 這是備用版本:
while (a)
{
doSomething();
if (!d)
break;
doSomething_that_i_don't_want_done_if_d_is_false_but_do_if_a_and_d_are_true();
}
是的,使用break
語句。
while (a==true)
{
doSomething() ;
if (d==false) break;
doSomething_that_i_don't_want_done_if_d_is_false_but_do_if_a_and_d_are_true() ;
}
while(a)
{
doSomething();
if(!d)
{
break;
}
}
請執行以下操作注意包含大括號 - 其良好的編程習慣
while (a==true)
{
doSomething() ;
if (d==false) { break ; }
else { /* Do something else */ }
}
while ( doSomething() && doSomethingElse() );
更改方法的返回簽名,例如d==doSomething()
和a==doSomethingElse()
。 如果你的循環逃脫,它們必須已經有副作用。
如果您需要對是否啟動循環進行初始測試,可以在前面拋出一個if
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.