坚持是一件说起来容易,做起来不容易的事情。
已经接触过了break语,知道它可以终止switch语句的执行。#break语句就是一种跳转语句。#跳转语句可以使代码在某些情况下提前结束循环。除了break语句外,continue语也是一种跳转语句。
1、break语句
break语句除了用在switch语句中,还可以用在循环结构中。在循环结构中当程序执行到break语句时,会立即停止对当前循环的执行,转而开始执行循环外的语句。
如果有嵌套的循环,而break语句在内层循环中被执行,那程序会跳出内层循环,接着执行最近的外层循环语句。
break语的语法格式如下。
break;在循环语句中,在需要跳出循环的地方使用break语句。例如:
final int PAl= 3.14; //定义一个常量PAI,也就是圆周率,赋值3.14for(int r=1;r<=10:+)area-PAl*r*r //圆的面积公式,r代表圆的半径if(area>100) break;Systern.oulprinta(area);}
上述代码计算的是半径从1到10的圆的面积。
假如计算出的圆面积小于等100,程序会继续执行for循环;如果计算出的圆面积大于100,程序会执行bre语句,跳出for循环。#break语句只能用在循环语句和switch语中。
【例1】编写一段代码,展示嵌套循环中break语句的应用。
具体代码如下。
public class BreakTcstl {publicstaticvoidmain(String[]args){for (inti=0:i<4: i++){Systcm.out,println("line " + ¡ + ": ");for int j=0:j< 5; j++){//如果变量j的值等于20,终止当前循环if(j=20) break;System.out.print(j + " ");}//换行System.out.println();}System.out.println("循环结束.");}}
程序运行结果为:
line 0:01234line 1:01234line 2:0123 4line 3:01234循环结束
从上述代码的运行结果可以看出,内部循环的break语句只终止了它所在的环,并未影响到外部的循环。
在使用break语句时需要注意以下几点。
(1) 虽然在一个循环中可以有多个break语句,但过多的break 语言会影响代码的可读性。
(2) 循环语句的终止一般是通过循环语句的前置判断语句来完成,break语句
是在特殊情况下才用来终止循环的。只终止了内部循环,如想在特定条件下终止所有循环,需要在每层代码里都加上break语句。
例如:
for(int i=0; i<4; i++){boolean bool = false;for(int j=0: j< 200: j++){if(j ==20){break;//如果变量j等于20,终止内层循环bool = true;}if(bool) break; //将同时终止内层和外层循环}}
上述代码是跳出两层嵌套的循环的做法。如果是多层套,每一层都加上break语句的话,那代码会变得非常“臃肿”。为了解决这个问题Java提供了一种扩展的break语句,这种语句也被称为break标签。break标签可以迅速终止一个或多个代码。其语法格式如下。
break标签名称;#其中的“标签名称”指的是标识代码块的标签。在Java语法中,任何符合语法规则的、有效的Java标识符加上冒号都可以做标签。
程序遇到break标签时,会退出正在循环的循环体。需要注意的是,break语必须被加了标签的代码块包围,请特别注意例2中注释处的标签。
【例2】编写一段代码,展示 break 标签的使用。
具体代码如下。
public claeakTest2 {public static void main(String|] args){"定义标签,且标签名称为outerouter;for(int i=0;j<4;i++){Sysfem.out print("line "+ j+":")for(int j=0:j<100:j++){//如果变量j等于10,终止所有循环if(j==10) break outer;Systemn.oul.print(j+" ")}//换行System.out.printn("这条语句不会被执行");}System.out.println("循环结束.");}}
程序运行结果为:
line0:0 1 2 3 4 5 6 7 8 9循环结束.
在上述代码中,因为使用了break标签,所以当程序由内循环退到外循环时两个循环都终止了。在实际的程序开发中,break标签可以用在任何代码块或嵌的代码块中,当程序执行到break标签时会直接退出当前循环体,在加标签块的结尾处重新开始。
例2的程序中有3个带标签的嵌套代码,其中的break标签使程序在执行时跳过了两个 println()语句。
【例2】编写一个程序,实现对嵌套的标签break语句的应用
具体代码如下。
public classBreakTest3{public static void main(String[] args){boolean yesOrNo = true;//定义标签,标签名称为firstfirst:{//定义嵌套的标签,标签名称为secondsecond:{//定义第3层嵌套的标签,标签名称为thirdthird:{System.out.printn("这里是第3层,执行 break 之前if(yesOrNo)//跳转到第2层循环结束处break second:System.out.println("这条语句不会被执行");}System.out.println("这里是第2层,这句也不会被执行。")}System.out.println("这里是第!层,这句会被执行。”)}}}
程序运行结果为:
这里是第3层,执行break 之前。这里是第1层,这句会被执行。
在上述代码中,当条件“yesOrNo”为true时,程序会执行“break second”语句晨转到标签second代表的语句块外,因此该语句和second标签标识的语句块后面的语句都不会被执行。
2、continue语句
如需跳出本次循环并立即进入下一轮循环,可以通过continue语句来实现continue语句的语法格式如下。
continue;continue语句主要应用于循环语句中。
【例3】编写一个使用continue跳转语句,输出1~100所有不能被3整除的数具体代码如下。
public class ContinueTest {publicstaticvoidmain(String[] args){//声明一个整型变量iint i;//从1循环到100for(i=1:i<=100:i++){//如果i能被3整除if(i%3=0)//就结束本次循环,开始下一次循环continue;//如果不能被3整除,就输出i的值System.out.print(j + " ");}}}
程序运行结果略。
在上述代码中,当整数能被3整除时,程序会执行代码中的continue语句,也就是说会结束本次循环,跳过后面的输出语句,只有当i不能被3整除时,程序才会执行continue语句后面的输出语句。
continue和break语句都属于跳转语句,但continue语表示退出循环体中本次的循腩奎胥环乇镆卫蝙筝并龆施不结鵬羡束整个循环体的循环,而break语句表示直接退出整个循环过程。

(从基础背景开始学起,坚持,是一件不容易的事情。)

文章推荐
AI基础学习第二阶段笔记:从0开始学Java“搭建Java程序开发环境”
AI基础学习第二阶段笔记:从0开始学Java“开发第一个Java应用程序”
文 | Lisa Notes
Lisa Notes |一个Lisa’s notes:生活、工作、学习中那些事儿,感悟自我成长,随心随笔杂谈。微信搜索「Lisa Notes」(ID:Lisa-notes),查看更多信息,原创小说,PPT干货分享。

长按♥一键关注
特别声明
本文为自媒体、作者等在微信公众号上传并发布,仅代表作者观点,不代表微信公众号的观点或立场,微信公众号仅提供信息发布平台,最终解释权归本人所有。合作请联系13698281600@163.com。
全世界只有不到0.03%的人
关注小SA
你真是个特别的人
快戳我!快戳我!快戳我!㊋㊋㊋