从零学Java(25)之 break语句详解
Posted 编程界明世隐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从零学Java(25)之 break语句详解相关的知识,希望对你有一定的参考价值。
作者简介
作者名:编程界明世隐
简介:CSDN博客专家,从事软件开发多年,精通Java、javascript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注,期待与您一起学习、成长、起飞!
导航
✪ 从零学Java系列目录索引
◄上一篇 【24】foreach 语句
►下一篇 【26】continue语句详解
热门专栏推荐
【1】Java小游戏(俄罗斯方块、飞机大战、植物大战僵尸等)
【2】JavaWeb项目实战(图书管理、在线考试、宿舍管理等)
【3】JavaScript精彩实例(飞机大战、贪吃蛇、验证码等)
【4】Java小白入门200例
【5】从零学Java、趣学Java
【6】Idea从零到精通
引言
♀ 小AD:明哥我来了!
♂ 明世隐:乖来学习Java来了。
♀ 小AD:不是啊,我就是今天不太想学新知识,今天没状态。
♂ 明世隐:怎么没状态了。
♀ 小AD:被人打爆了。
♂ 明世隐:哎哟真的是,明哥没在,顶不住了吧。
♀ 小AD:主要是还被别人骂了,我就很气氛,直接退游戏了。
♂ 明世隐:那你退游戏这个动作,似乎不太合适呀。
♀ 小AD:我管他们呢,想退就退,我的游戏我做主。
♂ 明世隐:说得好,干的漂亮,做人就是要洒脱一点。
♀ 小AD:我能跟明哥一样就了。
♂ 明世隐:其实不难,就跟学程序一样的,学会主动退出就好。
♀ 小AD:主动退出,之前好像有接触过吧。
♂ 明世隐:对啊,之前不是有死循环的,设定退出条件,用break语句吗?
♀ 小AD:嗯是我有印象的。
♂ 明世隐:那今天就加深一下印象,详细了解一下break。
描述
某些时候需要在某种条件出现时强行终止循环,而不是等到循环条件为 false 时才退出循环。此时,可以使用 break 来完成这个功能。
break 用于完全结束一个循环,跳出循环体。不管是哪种循环,一旦在循环体中遇到 break,系统将完全结束该循环,开始执行循环之后的代码。
switch 中使用break
实例1
import java.util.Calendar;
public class Demo2 {
public static void main(String[] args) { String weekDate = "";
Calendar calendar = Calendar.getInstance(); // 获取当前时间
int week = calendar.get(Calendar.DAY_OF_WEEK) - 1; // 获取星期的第几日
switch (week) {
case 0:
weekDate = "星期日";
break;
case 1:
weekDate = "星期一";
break;
case 2:
weekDate = "星期二";
break;
case 3:
weekDate = "星期三";
break;
case 4:
weekDate = "星期四";
break;
case 5:
weekDate = "星期五";
break;
case 6:
weekDate = "星期六";
break;
}
System.out.println("今天是 " + weekDate);}
}
运行结果:
今天是 星期三
♂ 明世隐:首先今天刚好是星期三(测试代码的日子)。
♀ 小AD:因为 case 3 后面加了break,所以走到这里后,switch会被退出,对吗?
♂ 明世隐:对的呀,很清晰,你看每一个case里面都加了一个break,确保执行完就退出。
♀ 小AD:那如果我不加break会怎么样?
♂ 明世隐:来去调这个break你就知道了。
实例2
import java.util.Calendar;
public class Demo2 {
public static void main(String[] args) { String weekDate = "";
Calendar calendar = Calendar.getInstance(); // 获取当前时间
int week = calendar.get(Calendar.DAY_OF_WEEK) - 1; // 获取星期的第几日
switch (week) {
case 0:
weekDate = "星期日";
break;
case 1:
weekDate = "星期一";
break;
case 2:
weekDate = "星期二";
break;
case 3:
weekDate = "星期三";
case 4:
weekDate = "星期四";
break;
case 5:
weekDate = "星期五";
break;
case 6:
weekDate = "星期六";
break;
}
System.out.println("今天是 " + weekDate);}
}
运行结果:
今天是 星期四
♀ 小AD:为啥呢,会跑的星期4了。
♂ 明世隐:因为case 3匹配到以后,weekDate被设置为”星期三“,然后因为没有break,所以case 4会被执行,于是weekDate再次被设置为”星期四“。
♀ 小AD:然后星期4这里再执行break,所以最后会输出这个结果。
♂ 明世隐:对啊,所以这样程序就是错误的。
♀ 小AD:嗯我晓得了,在switch中要注意break的使用。
♂ 明世隐:就是这个意思。
while中用break
public class Test {
public static void main(String[] args) {
int num=0;
while (true) {
//打印
System.out.println("打印数字:"+num);
//递增
num++;
//加入主动退出条件
if(num>5){
break;
}
}
}
}
运行结果:
打印数字:0
打印数字:1
打印数字:2
打印数字:3
打印数字:4
打印数字:5
分析:如果这段代码,没有加入 break 则会死循环哦。
for 循环中使用break
实例1
没有break的for循环。
public class Test2 {
public static void main(String[] args) {
//for循环打印
for (int i = 0; i < 10; i++) {
System.out.println("打印:"+i);
}
}
}
运行结果:
打印:0
打印:1
打印:2
打印:3
打印:4
打印:5
打印:6
打印:7
打印:8
打印:9
如果我想打印完5就不打印了呢,这个时候就要用到break语句了。
实例2
for循环中使用break语句(打印到5就退出)
public class Test2 {
public static void main(String[] args) {
//for循环打印
for (int i = 0; i < 10; i++) {
System.out.println("打印:"+i);
if(i==5){
break;
}
}
}
}
打印:0
打印:1
打印:2
打印:3
打印:4
打印:5
♀ 小AD:这个就跟我游戏打的不爽了,直接退出?
♂ 明世隐:对啊,就是这个类似的效果。
♀ 小AD:这么说我就懂了,等于后面的不需要就过滤掉了,节省了时间哦。
♂ 明世隐:节省了性能呢。
实例3
break如果使用在嵌套for循环中,只会跳出当前循环。
public class Test2 {
public static void main(String[] args) {
// 外循环,循环5次
for (int i = 0; i < 5; i++) {
System.out.print("第" + (i + 1) + "次循环:");
// 内循环,设计为循环10次
for (int j = 0; j < 10; j++) {
// 判断j是否等于3,如果是,则终止循环
if (j == 3) {
break;
}
System.out.print("内循环的第" + (j + 1) + "次循环\\t");
}
System.out.println();
}
}
}
运行结果:
第1次循环:内循环的第1次循环 内循环的第2次循环 内循环的第3次循环
第2次循环:内循环的第1次循环 内循环的第2次循环 内循环的第3次循环
第3次循环:内循环的第1次循环 内循环的第2次循环 内循环的第3次循环
第4次循环:内循环的第1次循环 内循环的第2次循环 内循环的第3次循环
第5次循环:内循环的第1次循环 内循环的第2次循环 内循环的第3次循环
♂ 明世隐:可以看到,此时内循环中满足条件 j==3后,循环被退出。
♀ 小AD:但是外循环怎么还是5次呢。
♂ 明世隐:因为break只会跳出当前循环。
♀ 小AD:那我就想跳出外面的循环呢。
♂ 明世隐:也有办法。
实例4
使用 break label语法来实现类似goto 的功能
public class Test3 {
public static void main(String[] args) {
// 外循环
out:for (int i = 0; i < 5; i++) {
System.out.print("第" + (i + 1) + "次循环:");
// 内循环,设计为循环10次
for (int j = 0; j < 10; j++) {
// 判断j是否等于3,如果是,则终止循环
if (j == 3) {
break out;
}
System.out.print("内循环的第" + (j + 1) + "次循环\\t");
}
System.out.println();
}
}
}
运行结果:
第1次循环:内循环的第1次循环 内循环的第2次循环 内循环的第3次循环
分析:我们用 out 来给外层整个代码块命名,当 j==3 成立的时候,直接break out,就等于直接结束整个循环代码。
♀ 小AD:原来break还有这么多用处啊 ,秒啊。
♂ 明世隐:所以说知识要经常学,我们懂的越多,就会感觉自己要学的更多,越学越有劲。
♀ 小AD:好像是有那么一回事,我今天开始都不是很想学,但学起来又还没有味道。
♂ 明世隐:嘿嘿,上瘾了。
♀ 小AD:就跟打游戏似的,明明打输了,却还是要继续玩。
♂ 明世隐:学Java有这个劲头肯定可以成为大神。
♀ 小AD:我超神就可以了。
小结
这节总结了“ break语句详解 ”,希望能对大家有所帮助,请各位小伙伴帮忙 【点赞】+【收藏】+ 【评论区打卡】, 如果有兴趣跟小明哥一起学习Java的,【关注一波】不迷路哦。
评论区打卡一波让我知道你,明哥会持续关注你的学习进度哦!
导航
✪ 从零学Java系列目录索引
◄上一篇 【24】foreach 语句
►下一篇 【26】continue语句详解
热门专栏推荐
【1】Java小游戏(俄罗斯方块、飞机大战、植物大战僵尸等)
【2】JavaWeb项目实战(图书管理、在线考试、宿舍管理等)
【3】JavaScript精彩实例(飞机大战、贪吃蛇、验证码等)
【4】Java小白入门200例
【5】从零学Java、趣学Java
【6】Idea从零到精通
以上是关于从零学Java(25)之 break语句详解的主要内容,如果未能解决你的问题,请参考以下文章