有时可能不知道循环将要执行的次数,终止循环的条件可在以后确定。所以需要提供一种机制在条件满足的时候跳出循环。有时候,我们需要根据条件跳过循环中的一些语句。Java语言提供了break和continue两个关键字(也称为break语句和continue语句),用于改变程序的控制流。
break语句通常用在前面介绍过的switch语句及循环语句中。当break语句用于switch语句时,可使程序跳出switch结构而执行switch语句之后的语句;当break语句用于while、do-while、for循环语句时,可使程序终止循环而执行循环后面的语句。
break语句实际上就是为了使人能方便地描述从循环执行中退出的动作。通常应把break语句放在条件语句控制之下,以便在某些条件成立时立即结束循环。
案例1:使用break语句退出循环。
在PbaseUnit10项目unit包下创建BreakSample1类。代码如下:
/**
* @Title: BreakSample1.java
* @Package unit
* @Description: Java基础知识课程案例
* @author 编程训练营
* @date
* @version V1.0
*/
package unit;
/**
* @ClassName: BreakSample1
* @Description: 流程控制(break语句)案例1
* @author 编程训练营
* @date
*
*/
public class BreakSample1 {
/**
* @Title: main
* @Description: Java程序入口main方法
* @param @param args 参数
*
* @return void 返回类型
* @throws
*/
public static void main(String[] args) {
int i = 0;
while (i < 7) {
i++;
System.out.printf("\n 第%d次循环", i);
// 当i==时,跳出循环
if (i == 5) {
System.out.printf("\n i==5 跳出循环,程序结束", i);
break;
}
}
}
}程序结构分析
程序功能主要是演示break语句的使用。
该循环在变量i的值等于5时,满足条件,然后执行break语句,结束整个循环,循环语句后面没有其它语句可执行,程序退出。
程序执行结果如下图所示:

案例2:使用break语句跳出switch结构。
在PbaseUnit10项目unit包下创建BreakSample2类。代码如下:
/**
* @Title: BreakSample2.java
* @Package unit
* @Description: Java基础知识课程案例
* @author 编程训练营
* @date
* @version V1.0
*/
package unit;
/**
* @ClassName: BreakSample2
* @Description: 流程控制(break语句)案例2
* @author 编程训练营
* @date
*
*/
public class BreakSample2 {
/**
* @Title: main
* @Description: Java程序入口main方法
* @param @param args 参数
*
* @return void 返回类型
* @throws
*/
public static void main(String[] args) {
int i = 5;
switch (i) {
case 1:
System.out.println("this is 1");
break;
case 2:
System.out.println("This is 2");
break;
case 3:
System.out.println("This is 3");
break;
case 4:
System.out.println("This is 4");
break;
case 5:
System.out.println("This is 5");
break;
default:
System.out.println("This is default");
}
}
}程序结构分析
程序功能主要是演示break语句跳出switch结构的使用方法。
switch后面的表达式为变量i,i赋值5,然后依次与case语句的常量表达式进行匹配,匹配成功的项,执行break语句跳出switch结构。
程序执行结果如下图所示:

break语句通常在循环中与条件语句一起使用。若条件值为真,则跳出循环。控制流转向循环后面的语句。
如果已执行break语句,则不会执行循环体中位于break语句后的语句。
在嵌套循环中,一个break语句只能向外跳出一层循环。