beak与cotiue关键字的用法、区别(cotiue关键字的作用)
导语:break与continue关键字
1.概述不知道大家有没有这样一种感受哈,有的时候容易混淆break语句和continue语句的用法,总是模棱两可,不敢确定自己是否使用正确了。正好,我们本篇的重点就是break和continue关键字的用法。
2.使用场景Java中为啥会诞生break和continue关键字呢?其主要目的是用来中断流程控制语句,例如switch语句、for循环。
3.break关键字3.1 用于switch语句上面提到了switch语句,那么我们先来看看switch语句的用法。
String season = &34;; switch (season) { case &34;: System.out.println(&34;); break; case &34;: System.out.println(&34;); break; case &34;: System.out.println(&34;); break; case &34;: System.out.println(&34;); break; default: System.out.println(&34;); break; }
switch语句将从与选项值相匹配的case标签处开始执行,直到遇到break语句,或者执行到switch语句的结束处为止。如果没有匹配的case标签,则会执行default语句。
可以看到,break语句在switch语句起到了中断流程的作用,试想一下,如果在case语句中没有break语句,那么就会接着执行下一个case语句,就会引发程序结果的错误。
switch语句执行流程
好的,我们再来回顾一下,case标签支持的类型:char、byte、short、int、String。
3.2 用于循环体1)结束当前层循环
代码示例:
List<String> seasons = List.of(&34;, &34;, &34;, &34;); for (String season : seasons) { if (&34;.equals(season)) { System.out.println(&34;); break; } System.out.println(&34;); } // 执行结果:春天花会开,鸟儿自由自在!
以上代码的执行结果中并不会执行循环体的最后一句代码,因为当if条件成立时,就会结束当前层的循环。请注意,这里特别强调是当前层(表示break所处的这个循环体),为什么会有当前层这个说法呢?很多时候,我们在处理数据的时候,会用到嵌套循环。好的,我们来看个嵌套循环的案例:
List<String> cities = List.of(&34;, &34;); List<String> seasons = List.of(&34;, &34;, &34;, &34;); for (String city : cities) { if (&34;.equals(city)) { for (String season : seasons) { if (&34;.equals(season)) { System.out.println(season + &34;); break; } } System.out.println(city + &34;); } if (&34;.equals(city)) { System.out.println(city + &34;); } } // 执行结果为: // Summer:接天莲叶无穷碧,映日荷花别样红 // 成都:蜀道难,难于上青天 // 昆明,又名春城,这里四季如春
从以上代码的执行结果可以看出,break语句只是结束了它所在的循环体,并不会影响外层循环体的执行。那么有没有办法可以结束整个循环体的执行呢?解决方法肯定是有的。
2)结束整个循环
flag: for (String city : cities) { if (&34;.equals(city)) { for (String season : seasons) { if (&34;.equals(season)) { System.out.println(season + &34;); break flag; } } System.out.println(city + &34;); } if (&34;.equals(city)) { System.out.println(city + &34;); } } // 执行结果:Summer:接天莲叶无穷碧,映日荷花别样红
结束整个循环,需要配合标签来完成,在循环体前定义一个标签,格式为lable:,就可以配合break关键字来完成结束整体循环。
3.3 小结break语句用法:
1)用在switch语句中,结束case标签语句的执行。
2)用在循环体内,表示结束当前循环。
3)配合lable:标签语法,结束定义在标签之后的循环体,可用于嵌套循环时,结束整个循环。
4.continue关键字与break语句一样,也可以用来中断流程控制语句,break语句是结束当前循环体的执行,而continue语句是结束当前循环体中本次循环的执行,continue语句之后的剩余部分的代码不会被执行,而是直接进行下次循环。
示例代码:
List<String> seasons = List.of(&34;, &34;, &34;, &34;); for (String season : seasons) { if (&34;.equals(season)) { System.out.println(season + &34;); continue; } System.out.println(season + &34;); } // 执行结果: // Spring:岁月静好 // Summer:接天莲叶无穷碧,映日荷花别样红 // Autumn:岁月静好 // Winter:岁月静好
根据执行结果可以看出,continue语句之后的代码没有被执行,起到了跳过本次循环体的作用。
本文内容由小梓整理编辑!