while语句可以用break吗_Java十四天零基础入门-Java break语句

52c495ee4bc57146e75b60eb1ae2df04.png

不闲聊!!!不扯淡!!!小UP只分享Java相关的资源干货

Java break语句

使用break这一个单词就可以在java语言中自成一条java语句,break语句的编写很简单,例如“break;”,那么它可以用在哪里呢?首先它可以使用在switch语句当中,用来终止switch语句的执行,这个之前我们用过,这里不再赘述,break语句重点是使用在循环语句当中,用来终止/跳出循环。例如有这样一个业务:从键盘不断的接收用户输入的整数,只要用户输入的数字在[0~100]之间,则将输入的数字累加,一旦用户输入的整数不在[0-100]的范围,则终止循环的执行,并输出计算结果。请看下面的代码:

java.util.Scanner scanner = new java.util.Scanner(System.in);
int sum = 0;
while(true){
	System.out.print("请输入[0-100]的整数:");
	int num = scanner.nextInt();
	if(num >= 0 && num <= 100){
		sum += num;
		System.out.println("累加" + num + "成功!");
	}else{
		System.out.println("不在合法范围,无法累加" + num);
		break;
	}
}
System.out.println("最终累加结果 = " + sum);

运行效果如下图所示:

1debadd306764edc4a04bd0a33076f81.png

图6-37:break初步使用

通过以上程序我们得知当用户输入的数字不在[0-100]范围内的时候break语句执行,while循环结束了。那么,当循环语句多层嵌套的时候break语句终止的是哪个循环呢?我们来看以下的程序:

for(int j = 1; j <= 2; j++){
	for(int i = 1; i <= 10 ; i++){
		if(i == 5){
			break;
		}
		System.out.println("i = " + i);
	}
}

运行结果如下所示:

2f9576a16c28601c0b86c17883e44706.png

图6-38:break终止的是哪个循环

分析以上程序,请看下图:

2d338cdf778823d617ea9831c8884286.png

图6-39:循环嵌套时,break终止哪个?

通过上图的分析,可以得知break语句默认情况下只能终止离它“最近”的“一层”循环。以上的break语句则终止的是内部循环,不影响外部循环的执行。那么break语句可以用来终止指定的循环吗?请看以下代码:

first:for(int j = 1; j <= 2; j++){
	for(int i = 1; i <= 10 ; i++){
		if(i == 5){
			break first;
		}
		System.out.println("i = " + i);
	}
}

运行结果如下图所示:

7713f27054f00854c7b3cec20c9aa804.png

图6-40:终止指定的循环

通过以上程序的测试,我们可以得知当多层循环嵌套的时候,可以给每个循环设置标识,例如:first:for...、second:for...,当某个条件成立时,想终止指定循环的话,可以这样做:break first;或者break second;,这样指定的循环就结束了。

总之,break语句出现在循环当中用来终止循环的执行。例如:运动场上的运动员跑圈儿,跑了一圈又一圈,这显然是循环机制,假设比赛要求跑10圈儿,或者20圈儿,那么当计数器等于10,或者20的时候,循环就结束了,如果中途发生意外呢,例如运动员晕倒了,那么此时在没有达到10圈儿或20圈儿的时候是不是也应该终止此循环的执行,要想让循环结束则执行break语句就可以了。

学习本文之前建议先看:

Java十四天零基础入门-Java do while循环语句​zhuanlan.zhihu.com

下一篇文章学习地址:

Java十四天零基础入门-Java continue语句​zhuanlan.zhihu.com

更多相关Java视频教程资料:

2020最新版Java视频学习路线图-学习Java独孤九剑总纲篇​zhuanlan.zhihu.com
39d528353702939f9eda0c5ec84ac408.png

你的素质五连就是小UP的动力

950d875860868fff204972b5a718e852.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值