CodeGym /课程 /JAVA 25 SELF /循环控制:break 与 continue 语句

循环控制:break 与 continue 语句

JAVA 25 SELF
第 4 级 , 课程 4
可用

1. 引言

通常会遇到这样的情况:你并不需要把循环完整执行到末尾,而是希望提前退出——比如一旦找到了目标元素就立即结束。还有些时候,你只想跳过当前这一步工作并进入下一步(例如你已经读取了数据,想跳过其后续处理)。 这就是在循环内部进行的流程控制。

Java 中的 breakcontinue 语句正是为此而设计的。接下来我们来看看它们如何工作,以及在真实任务中能发挥什么作用。

2. break 语句:“停下!”

理论与语法

break 语句用于立即跳出所在的循环,无论它位于循环体的什么位置。一旦程序执行到 break,循环会立刻结束,随后从循环之后的第一行代码继续执行。


while (condition)
{
    if (kakoe-to_condition)
    {
        break;
    }
    // 其余的循环代码
}
while 循环中使用 break

对于 fordo-while 也同理:

for (int i = 0; i < 10; i++)
{
    if (kakoe-to_condition)
    {
        break;
    }
    // 其余的循环代码
}

示例 1:判断素数

一个数如果只被 1 和它本身整除,则它是素数。我们要判断一个数是否为素数:遍历所有潜在的除数,从 2 到 n-1。如果发现该数能被某个除数整除,就不必再继续检查——它不是素数,可以结束循环。

示例:

int number = 111;
boolean found = false;
for (int i = 2; i < number; i++)
{
    if (number % i == 0)
    {
        found = true;
        System.out.println("找到一个因子 " + i );
        break; // 停止循环,不必再继续查找!                
    }    
}

if (!found)
{
    System.out.println("未找到因子 - 该数是素数。");
}

示例 2:用户输入校验

我们来写一个小程序,比如用于收集数据的交互式问卷:

while (true)
{
    System.out.print("请输入您的年龄:");

    if (console.hasNextInt())
    {
        int age = console.nextInt();
        if (age > 0)
        {
            System.out.println("太棒了!您的年龄:" + age);
            break; // 数据有效,退出
        }
        else
        {
            System.out.println("错误!请输入正的年龄。");
        }
    }
    else
    {
        System.out.println("错误!请输入数字。");
        console.nextLine(); // 丢弃不合法的输入
    }
}

为什么需要这样做:
有时需要让循环无限(或很长时间)执行,直到用户输入了正确的数据。一旦发生了符合预期的事件——就使用 break 彻底退出循环。

3. continue 语句:“下一位,请!”

理论与语法

break 不同,continue 并不会结束整个循环,而只是中断当前迭代:循环体中写在 continue 之后的代码将不会执行——程序会直接进入下一次迭代。


for (int i = 0; i < 10; i++)
{
    if (condition)
    {
        continue;
    }
    // 只有在未触发 continue 时,这部分才会执行
}
for 循环中使用 continue

示例 3:跳过偶数

设想你只需要输出某个区间内的奇数。偶数需要被跳过。


for (int i = 1; i <= 10; i++)
{
    if (i % 2 == 0)
    {
        continue; // 如果是偶数 - 跳过下面的所有内容!
    }
    System.out.println("奇数:" + i);
}
使用 continue 跳过偶数

发生了什么:
i = 2, 4, 6... 时,循环遇到 continue 会立即跳到下一次迭代,不再执行 System.out.println

分步演示:

i i % 2 == 0 操作
1 false 打印,未触发 continue
2 true continue,未执行打印
3 false 打印,未触发 continue
... ... ...

breakcontinue 非常常用,几乎每两个循环就能见到一个。你会喜欢与它们打交道的。

评论 (3)
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION
逢考必过` 级别 12,Beijing,China
6 七月 2026
break:停止循环,找到你了! continue:不是你,下一位
窝窝飞 级别 4,Nanjing,China
4 三月 2026
break 是退出整个循环,continue是跳过当前循环
窝窝飞 级别 4,Nanjing,China
4 三月 2026
到这一章时逻辑开始出现点紊乱了