有没有办法在原始条件变为假之前突破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() ;
}
有没有办法做到这一点?
答案 0 :(得分:26)
答案 1 :(得分:5)
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();
}
答案 2 :(得分:3)
答案 3 :(得分:3)
答案 4 :(得分:1)
是的,请使用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() ;
}
答案 5 :(得分:1)
while(a)
{
doSomething();
if(!d)
{
break;
}
}
答案 6 :(得分:0)
执行以下操作 请注意包含大括号 - 其良好的编程习惯
while (a==true)
{
doSomething() ;
if (d==false) { break ; }
else { /* Do something else */ }
}
答案 7 :(得分:0)
while ( doSomething() && doSomethingElse() );
更改方法的返回签名,例如d==doSomething()
和a==doSomethingElse()
。如果你的循环逃脱,它们必须已经有副作用。
如果您需要对是否开始循环进行初始测试,可以在前面抛出if
。