0Pricing
Java Academy · 课时

break 与 continue

跳过并退出迭代

break 与 continue 是 CoddyKit 上的免费 Java Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Java Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Java Academy 课程共包含 4 节课。

为什么要控制循环

循环会重复执行代码,但有时您需要提前停止,或者跳过某一项。

Java 为此提供了两个简单工具:中断会完全结束循环,而继续会跳到下一轮。

本课将帮助您准确了解每个工具何时生效,以及它们如何改变循环的流程。

中断语句

中断关键字会立即停止最近的循环。

执行会跳到循环之后的第一行,剩余的迭代都会被放弃。

下面的循环会在 i 达到 3 时立即停止。

public class Main {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) {
            if (i == 3) {
                break;
            }
            System.out.println("i = " + i);
        }
        System.out.println("Done");
    }
}

中断打印的内容

程序打印了 i = 1 和 i = 2,然后打印了 完成。

当 i 变为 3 时中断生效,因此 3、4 和 5 从未被打印。

当您已经找到所需内容并想停止搜索时,中断非常适合。

继续语句

继续关键字会跳过当前迭代的剩余部分。

循环不会停止,而是跳回循环头并尝试下一个值。

这里跳过数字 3,但继续执行。

public class Main {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) {
            if (i == 3) {
                continue;
            }
            System.out.println("i = " + i);
        }
    }
}

继续打印的内容

输出结果为 1、2、4、5。值 3 被跳过了,但循环仍在继续运行。

这就是关键区别:中断会离开循环,而继续只会跳过一轮。

跳过偶数

继续的常见用途是筛选。我们跳过不关心的值。

这个循环在遇到偶数时继续执行,因此只打印奇数。

public class Main {
    public static void main(String[] args) {
        for (int i = 1; i <= 8; i++) {
            if (i % 2 == 0) {
                continue;
            }
            System.out.println(i);
        }
    }
}

while 循环中的中断

中断和继续适用于每一种循环类型:计数循环、条件循环和先执行后判断循环。

这个条件循环会递增计数,但总数超过 10 的瞬间就会跳出。

public class Main {
    public static void main(String[] args) {
        int total = 0;
        int n = 1;
        while (true) {
            total += n;
            if (total > 10) {
                break;
            }
            n++;
        }
        System.out.println("Stopped at total = " + total);
    }
}

中断只退出一个循环

一条重要规则是:普通的中断只会退出包围它的最内层循环。

如果一个循环嵌套在另一个循环中,中断会离开内层循环,而外层循环会继续运行。

请仔细观察这个嵌套示例。

public class Main {
    public static void main(String[] args) {
        for (int row = 1; row <= 3; row++) {
            for (int col = 1; col <= 3; col++) {
                if (col == 2) {
                    break;
                }
                System.out.println("row " + row + ", col " + col);
            }
        }
    }
}

嵌套中断的结果

中断只停止了内层的列循环,因此每一行只打印了第 1 列。

外层的行循环仍然继续执行了全部三行。

如果要一次退出两个循环,您需要使用带标签的中断,这将在下一课介绍。

继续也只影响最近的循环

与中断一样,普通的继续只会影响直接包围它的循环。

在嵌套循环中,继续会跳到内层循环的下一次迭代,而不是外层循环的下一次迭代。

当您的逻辑跨越两个循环时,请牢记这一点。

public class Main {
    public static void main(String[] args) {
        for (int a = 1; a <= 2; a++) {
            for (int b = 1; b <= 3; b++) {
                if (b == 2) {
                    continue;
                }
                System.out.println(a + "-" + b);
            }
        }
    }
}

快速建立心智模型

把循环想象成一条供您反复奔跑的跑道。

中断 = 离开跑道并走开。继续 = 跳到下一圈的起跑线。

两者都只作用于您当前所在的跑道,绝不会作用于外层跑道。

快速检查

测试您对中断和继续区别的理解。

回顾

您了解到中断会退出最近的循环,而继续会跳到该循环的下一次迭代。

在嵌套循环中,两者都只影响最内层循环。要控制外层循环,您需要使用标签,下一步将对此进行探索。

常见问题解答

「break 与 continue」课时是免费的吗?

是的 — 「break 与 continue」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Java Academy 课程的其余内容,请升级到 CoddyKit PRO。 Java Academy 课程共包含 4 节课。

「break 与 continue」这节课中我会学到什么?

跳过并退出迭代 你通过在浏览器中直接运行的动手代码来练习 Java Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Java Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Java Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「break 与 continue」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Java Academy 课中编写并运行代码吗?

能。每节 Java Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. break 与 continue
  2. 带标签的 break
  3. 带标签的 continue
  4. 避免意大利面式流程
← 返回 Java Academy