在 Java 中,breakreturncontinue都是用于控制程序流程的关键字,但它们的作用和使用场景截然不同,具体区别如下:

1. break:终止当前循环或 switch 语句

  • 作用:立即终止当前所在的循环forwhiledo-while)或switch 语句,跳出该代码块,执行后续代码。

  • 使用场景

    • 在循环中:当满足某个条件时,提前结束整个循环(不再执行循环内剩余代码,也不再进行下一次循环判断)。
    • 在 switch 中:结束当前 case 分支,避免穿透到下一个 case(通常每个 case 后都会加break)。
  • 示例

    // 循环中使用break
    for (int i = 0; i < 10; i++) {
        if (i == 3) {
            break; // 当i=3时,立即终止整个循环
        }
        System.out.println(i); // 输出:0,1,2(i=3时停止)
    }
    
    // switch中使用break
    int num = 2;
    switch (num) {
        case 1:
            System.out.println("1");
            break; // 终止switch,避免执行case 2
        case 2:
            System.out.println("2");
            break;
        default:
            System.out.println("其他");
    }
    

2. continue:跳过本次循环,进入下一次循环

  • 作用:仅终止当前循环的本次迭代,跳过循环体内continue之后的代码,直接进入下一次循环的判断(不会终止整个循环)。

  • 使用场景:在循环中,当满足某个条件时,跳过当前循环的剩余逻辑,直接开始下一次循环。

  • 示例

    for (int i = 0; i < 5; i++) {
        if (i == 2) {
            continue; // 当i=2时,跳过本次循环的后续代码
        }
        System.out.println(i); // 输出:0,1,3,4(跳过了i=2)
    }
    

3. return:结束当前方法的执行

  • 作用:立即终止当前方法的执行,并返回一个值(如果方法有返回类型),直接退出方法,回到调用该方法的地方。

  • 使用场景

    • 方法执行完成后,返回结果给调用者(有返回值的方法)。
    • 提前结束方法(无论是否有返回值,void方法也可使用return;直接退出)。
  • 示例

    // 有返回值的方法
    public static int add(int a, int b) {
        return a + b; // 计算后返回结果,方法立即结束
    }
    
    // void方法中使用return提前退出
    public static void printEven(int num) {
        if (num % 2 != 0) {
            return; // 如果是奇数,直接退出方法,不执行后续打印
        }
        System.out.println(num + "是偶数");
    }
    

核心区别总结

关键字 作用范围 效果 典型场景
break 循环(for/while)或 switch 终止当前循环 /switch,跳出代码块 提前结束循环、switch 分支隔离
continue 循环(for/while/do-while) 跳过本次循环剩余代码,进入下一次循环 过滤循环中的某些条件
return 方法 终止当前方法,返回结果(或直接退出) 方法执行完成、提前结束方法

简单说:break跳循环,continue跳本次,return跳方法。

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐