元の条件が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();
}
これを試して:
if(d==false) break;
これは「ラベルなし」breakステートメントと呼ばれ、その目的はwhile
、for
、およびdo-while
ループを終了することです。
ここを参照 。
はい、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
を投げることができます。