正常来说,退出循环的方式应该由循环条件来判断和控制,而break语句可以应用在for、while和do...while循环语句中,来实现强行退出循环。这也给循环增加了一些灵活性,也就是说,在循环条件为true的情况下,也可以根据需要使用break语句强行退出循环。
语法:
break 标号;
和continue语句一样,break语句也有两种使用情况:
l 不带标号
不带标号的break语句可以终止break语句所在的循环。
例 使用while循环和break语句输出1至100所有整数的和。
public class GetSum {
public static void main(String[] args) {
int sum = 0; // 声明总和变量
int control = 1; // 声明控制变量
while (true) { // 无限的while循环
sum += control++; // 累加总和并步进控制变量
if (control > 100) { // 如果控制变量大于100
//
输出总和
System.out.println("1至100所有整数的和是:"+sum);
break; // 终止循环
}
}
}
}
实例中使用无限循环的while循环不停地累加整数的总和,并是control控制变量自增,当控制变量大于100的时候,说明100已经被累加到sum总和变量里了,这使循环的任务已经完成了,应该输出总和变量的数值,并执行break语句退出循环。
运行结果如图1所示。
图1 实例运行结果
l 带标号
带标号的break语句可以终止标号指定的循环,它常用于跳出多层循环的情况。
例 当九九乘法表的积大于16时,终止外层循环。
public class BreakTab {
public static void
main(String[] args) {
loop:
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i;
j++) {
if (i * j > 16) { // 如果乘积大于16
break
loop; // 终止外层循环
}
System.out.print(i + "*" + j + "=" + i * j + "\t");
}
System.out.print("\r\n"); // 输出一个回车换行符
}
}
}
运行结果如图2所示。
图2 实例运行结果
说明:break语句和continue语句的区别在于,break语句将终止整个循环语句,而continue语句只结束本次循环。