编者按
前面几节我们学习了循环的三种结构for/while/do while,循环过程中,因为某些条件想要跳出循环的话,如何处理呢?Java中的break关键字可以解决这个问题!来吧,开始今天的自学之旅!
内容提要
你是否曾经听过死循环?如何打破死循环呢?我们今天内容将告诉大家。本期主要内容包括了:
- break关键字概述
- break应用场景
break关键字概述
break是Java语言中48个关键字之一,它的有以下两方面的作用:
- 强制结束循环,跳出循环体。
- 跳出switch case语句
其中,循环是指以下三种类型:
- for循环
- while循环
- do while循环
1. 跳出for循环
跳出for循环,需要使用break关键字;通常是满足某种条件时,break结束整个for循环。具体代码示例:
public class BreakKeyWord {
public static void main(String []args) {
/*
* 跳出for循环
* counter是计数器,计算找到目标时循环次数
* cycles最大的循环次数
* base是基数,按照指数增长,阙值是4096
*/
int counter = 0;
int cycles = 10000;
int base = 1;
for (int i = 1; i <= cycles; ++i) {
base *= 2;
if (base == 4096) {
counter = i;
System.out.println("base(初始值1)已经增长至阙值(4096),结束循环!截止目前,已经循环的次数是" counter + ",剩余循环次数是" + (cycles - counter));
break;
}
}
}
}
2.跳出while循环
同样,while循环也可以使用break关键字强行跳出来;通常是满足某种条件时,break结束整个while循环。具体代码示例:
public class BreakKeyWord {
public static void main(String []args) {
/*
* 跳出while循环
* counter是计数器,计算找到目标时循环次数
* cycles最大的循环次数
* base是基数,按照指数增长,阙值是4096
*/
int counter = 0;
int cycles = 10000;
int base = 1;
int i = 1;
while (i <= cycles) {
base *= 2;
if (base == 4096) {
counter = i;
System.out.println("base(初始值1)已经增长至阙值(4096),结束循环!截止目前,已经循环的次数是" counter + ",剩余循环次数是" + (cycles - counter));
break;
}
++i;
}
}
}
3.跳出do while循环
break关键字在do while循环使用方式同for和while一样,也是需要满足某一条件,break强制结束整个循环。具体代码示例:
ublic class BreakKeyWord {
public static void main(String []args) {
/*
* 跳出do while循环
* 寻找目标数100
*/
short begin = 0;
short target = 100;
System.out.println("开始找目标数游戏啦,起始值是" begin);
do {
if (begin == target) {
System.out.println("哈哈,已经找到了目标数" target);
break;
}
++begin;
} while (true);
}
}
4.跳出switch case分支
我们在前面介绍过switch case分支结构,其中,case分支中有break关键字。break关键字在switch case中的作用就是跳出某个或者多个case分支。具体代码示例:
public class BreakKeyWord {
public static void main(String []args) {
/*
* 成绩等级规则:
* A 成绩优秀
* B 成绩良好
* C 成绩合格
* D 成绩不合格
*/
char level = 'B';
switch (level) {
case 'A':
System.out.println("张三成绩等级是" + level + ",成绩优秀!");
break;
case 'B':
System.out.println("张三成绩等级是" + level + ",成绩良好!");
break;
case 'C':
System.out.println("张三成绩等级是" + level + ",成绩合格!");
break;
case 'D':
System.out.println("张三成绩等级是" + level + ",成绩不合格!");
break;
default:
System.out.println("输入的成绩等级有误(A~D),请重新输入!");
break;
}
}
}
break关键字应用场景
break关键字主要用于跳出循环,如for、while、do while或者switch case语句。目前,break关键字应用在以下场景:
- 跳出循环,循环满足某个条件时,break强制退出整个循环。具体代码详见上述。
- 配合switch case语句使用,某个分支满足条件时,直接结束整个switch case分支结构。具体代码详见2.4节。
- 跳出嵌套循环,多重循环时,可以使用break关键字跳出内层或者外层循环;如果是跳出内层循环,开始新一轮的外层循环;如果是跳出外层循环,整个多重循环就结束了。
多重嵌套循环代码示例:
public class BreakKeyWord {
public static void main(String []args) {
/*
* 跳出多重循环之跳出内循环,以for循环为例
*
*/
for (short i = 0; i < 10; ++i) {
for (short j = 0; j < 10; ++j) {
if (i == j) {
System.out.println("外层循环i变量和内层循环变量j相等,内层循环结束;i=" i + ", j=" +j);
break;
}
}
}
}
}
public class BreakKeyWord {
public static void main(String []args) {
/*
* 跳出多重循环之跳出外循环,以for循环为例
* 两数之和等于10,第1次匹配上时,程序结束
*/
boolean flag = false;
for (short i = 0; i < 10; ++i) {
for (short j = 0; j < 10; ++j) {
if ((i + j) == 10) {
flag = true;
System.out.println("两数之和为10,i=" i + ", j=" j);
}
}
// 匹配上了,结束整个程序
if (flag) {
System.out.println("匹配上了,程序结束!");
break;
}
}
}
}
总结
break关键在循环控制方面有许多应用场景,适用面广,课下同学们需要勤加练习!今天的课程就到这,我们下期再见!