有没有办法在原始条件变为假之前突破while循环?

Dav*_*vid 17 java while-loop

有没有办法在原始条件变为假之前突破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() ;
} 
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

Bal*_*usC 27

使用该break声明.

if (!d) break;
Run Code Online (Sandbox Code Playgroud)

请注意,您不需要有比较truefalse在一个布尔表达式.

  • @Matt:为此我宁愿将变量名重命名为更敏感的东西:) (10认同)

Car*_*ter 6

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();
} 
Run Code Online (Sandbox Code Playgroud)