命令......打破; 在Java中如果.?

WM.*_*WM. 45 java

如果我们在for循环中有一个if语句,它会停止循环或if条件......

例:

for (int i = 0; i < array.length; i++) {
    if (condition) {
        statement;
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

bra*_*ain 92

break陈述对if语句没有影响.它仅适用于switch,for,whiledo循环.所以在你的例子中,break会终止for循环.

请参阅本节和Java教程的这一部分.

  • 您的答案是最完整的,所以我只是添加了一些指向Java教程相关部分的链接,而不是发布新的答案.我希望没关系. (5认同)

小智 10

您也可以打破'if'语句,如果您愿意,在这种情况下可能有意义:

for(int i = 0; i<array.length; i++)
{
CHECK:
   if(condition)
   {
     statement;
     if (another_condition) break CHECK;
     another_statement;
     if (yet_another_condition) break CHECK;
     another_statement;
   }
}
Run Code Online (Sandbox Code Playgroud)

你也可以打破标签{}声明:

for(int i = 0; i<array.length; i++)
{
CHECK:       
   {
     statement;
     if (another_condition) break CHECK;
     another_statement;
     if (yet_another_condition) break CHECK;
     another_statement;
   }
}
Run Code Online (Sandbox Code Playgroud)

  • 中断检查不是处理尾随程序员的好方法。 (2认同)

Rez*_*eza 7

选择的答案几乎是正确的.if break语句被混合label然后它可以在 if语句中使用而不需要在循环中.以下代码完全有效,编译和运行.

public class Test {
    public static void main(String[] args) {
        int i=0;
        label:if(i>2){
            break label;
        }               
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我们删除标签,则无法编译.

  • @EJP 继续并在您的 IDE 中运行它。它编译并运行:)。 (2认同)