是否可以退出if语句并返回内部for循环?

use*_*233 1 java for-loop if-statement

是否有一个命令退出内部for循环中的if语句并让它只通过内部for循环?

例如:

for (int i = 0; i < blah.length; i++) {
    blh = scan.nextDouble();            
    blah[i] = blh;

    if(scores[i] < MIN || scores[i] > MAX_SCORE) {
        errFlag = true;
        System.out.println("ERROR: Enter numbers in the range of " +
            MIN + "-" + MAX_SCORE + "!");
        System.out.print("ERROR: Enter all " + numStudents + " scores again: ");
        errFlag = false;
    }                       
}
Run Code Online (Sandbox Code Playgroud)

kos*_*osa 10

您可以使用标签块

FOUND: {
    for(Type mt: TypeList)
       if(condtion(mt))
            break FOUND;
    // not found code here
}
Run Code Online (Sandbox Code Playgroud)

根据Java语言规范14.7

标记语句通过执行立即包含的Statement来执行.如果语句由标识符标记,并且由于中断了相同的标识符而包含的语句突然完成,则标记的语句正常完成.在突然完成声明的所有其他情况下,标签声明因同样的原因突然完成

  • 稍微不一样.注释"此处未找到代码"的部分将使用正常中断执行.当然,标签通常很适用于有多个嵌套循环并且想要退出到特定循环的情况,但在这种情况下,它只是简单地执行代码. (2认同)
  • 请参阅此粘贴以查看说明其不同之处的示例:http://pastebin.com/wbihfajj (2认同)