Java 编程中,break 和 continue 是两个用于控制循环流程的重要关键字。它们可以帮助程序员更精确地控制循环体的执行。break 跳出最里层的循环,并且继续执行该循环下面的语句。continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。

1、Java break 关键字

break的作用是跳出当前循环代码块(forwhiledo while)或switch代码块。在循环代码块中的作用是跳出当前正在循环的循环体。在switch代码块中的作用是中断和下一个case条件的比较。

下面示例中当i等于4时,跳出循环:

例如

for (int i = 0; i < 10; i++) {
  if (i == 4) {
    break;
  }
  System.out.println(i);
}

退出 switch

public class Main {
    public static void main(String[] args) {
        int day = 3;
        switch (day) {
            case 1:
                System.out.println("Monday");
                break;
            case 2:
                System.out.println("Tuesday");
                break;
            case 3:
                System.out.println("Wednesday");
                break;  // 退出 switch
            default:
                System.out.println("Other day");
        }
    }
}

2、Java continue 关键字

continue用于结束循环体中其后语句的执行,并跳回循环程序块的开头执行下一次循环。

下面示例当i等于4时,跳过本次循环:

例如

for (int i = 0; i < 10; i++) {
  if (i == 4) {
    continue;
  }
  System.out.println(i);
}

3、while循环中使用break 和 continue 

还可以在while循环中使用breakcontinue

1)使用break跳出循环

例如

int i = 0;
while (i < 10) {
  System.out.println(i);
  i++;
  if (i == 4) {
    break;
  }
}

2)使用continue跳出本次循环

例如

int i = 0;
while (i < 10) {
  if (i == 4) {
    i++;
    continue;
  }
  System.out.println(i);
  i++;
}

4、带标签的 break 和 continue

Java 可以为循环设置标签,结合 breakcontinue 使用时,可以控制嵌套循环的跳转。

1)带标签的 break

直接退出指定标签的循环。

public class Main {
    public static void main(String[] args) {
        outer: // 标签名
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                if (i == 1 && j == 1) {
                    break outer;  // 退出外层循环
                }
                System.out.println("i = " + i + ", j = " + j);
            }
        }
    }
}

2)带标签的 continue

跳过指定标签的下一次循环。

public class Main {
    public static void main(String[] args) {
        outer: // 标签名
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                if (i == 1 && j == 1) {
                    continue outer;  // 跳过外层循环的下一次迭代
                }
                System.out.println("i = " + i + ", j = " + j);
            }
        }
    }
}

推荐文档

相关文档

大家感兴趣的内容

随机列表