break、continue以及return的区别
break、continue以及return的区别如下:
1、break
break用于完全结束一个循环,跳出循环体,不再执行下面的代码。对于多层循环嵌套,如果break语句出现在嵌套循环中的内循环时,它仅仅只是终止了内循环的执行,对外循环不影响其执行。例如如下程序:
public class BreakTest {
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
if (i == 1) {
// 执行该语句时将结束循环
break;
}
}
}
}
运行上面程序可以看到,当i等于1时,循环体遇到break语句,程序跳出该循环。
break语句不仅可以结束其所在的循环,还可以结束外层循环,只需要在外层循环定义一个紧跟英文冒号(:)的标识,然后在循环体里使用带有标识的break语句,这样可以跳出多层循环。示例如下:
public class BreakTest {
public static void main(String[] args) {
// outer作为外层循环的标识
outer: for (int i = 0; i < 8; i++) {
// 内层循环
for (int j = 0; j < 5; j++) {
if (j == 3) {
// 跳出outer标签所标识的循环
break outer;
}
}
}
}
}
通常紧跟break之后的标识,必须在break所在的循环的外层循环之前定义才有意义,因为break默认就是结束当前其所在的循环。
2. continue
continue的作用和break有点类似,区别是continue不会终止循环,只是忽略本次循环剩下的语句,接着开始下一次循环;而break则是完全终止循环。下面程序示范了continue的用法:
public class ContinueTest {
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
System.out.println("i=" + i);
if (i == 2) {
// 忽略本次循环剩下的语句
continue;
}
System.out.println("continue后的输出语句");
}
}
}
打印结果为:
i=0
continue后的输出语句
i=1
continue后的输出语句
i=2
i=3
continue后的输出语句
i=4
continue后的输出语句
从打印结果可以看出,当i等于2时,"continue后的输出语句"没有打印出来,因为continue把此行代码忽略了,继续执行下一次循环。
与break类似的是,continue后也可以紧跟一个标识,用于直接跳过标识所在循环的当次循环的剩下语句,重新开始下一次循环。例如下面的代码示例:
public class ContinueTest {
public static void main(String[] args) {
// 外层循环
outer: for (int i = 0; i < 4; i++) {
for (int j = 0; j < 3; j++) {
System.out.println("i=" + i + ";j=" + j);
if (j == 1) {
// 忽略outer所在循环中本次循环剩下的语句
continue outer;
}
}
}
}
}
打印结果为:
i=0;j=0
i=0;j=1
i=1;j=0
i=1;j=1
i=2;j=0
i=2;j=1
i=3;j=0
i=3;j=1
从运行结果中可以看出,当j等于1时,由于执行了continue outer语句,结束了外循环的当次循环,j的值无法超过1。
3. return
return关键字不是用来结束循环的,而是用于结束方法的。当一个方法执行到return语句时,该方法将被结束。如果在一个方法的循环体内执行return语句,这个方法就会结束,当然循环自然也就随之结束。例如下面程序:
public class ReturnTest {
public static void main(String[] args) {
for (int i = 0; i < 3; i++) {
System.out.println("i=" + i);
if (i == 1) {
return;
}
System.out.println("return后的输出语句");
}
}
}
打印结果为:
i=0
return后的输出语句
i=1
从打印结果可以看出,当i等于1时,由于执行了return语句,所以这个方法及方法里的循环都结束了。值得注意的是:return结束的是整个方法,而不管这个return处于多少层循环之内。
引申的问题:Java语言中是否存在goto关键字?
goto关键字是Java的保留字,目前还没有在Java中使用。虽然不能像C/C++那样可以使用goto跳出多重循环,但在Java语言中可以使用break和continue来达到同样的效果。
欢迎关注微信公众号【Java典籍】,收看更多Java技术干货!
▼微信扫一扫下图↓↓↓二维码关注

break、continue以及return的区别的更多相关文章
- break continue exit return 的区别
[root@localhost day1]# cat ss.sh #!/bin/bash for ((i=0;i<5;i++)) do if [ $i -eq 3 ] then break #c ...
- break、continue和return的区别
break.continue和return的区别 break function myBreak() { for(var i = 0; i < 5; i++) { if(i == 3) { bre ...
- js中的break,continue和return的用法及区别
为什么要说个?好像很简单,但是我也会迷糊,不懂有时候为什么要用return,然而break和continue也经常和他放在一起. 所以就一起来说一说,这三个看起来很简单,却常常会出错的关键词的具体用法 ...
- js中退出语句break,continue和return 比较 (转载)
在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止 首先:break和continue两个一 ...
- js中退出语句break,continue和return 比较
js中退出语句break,continue和return 比较 在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是 ...
- JS中break continue和return的用法?
在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止 break和continue: 退出循环 ...
- js中退出语句break,continue和return 比较(转)
原链接:http://blog.163.com/ued_er/blog/static/199703159201210283107315/ js中退出语句break,continue和return 比较 ...
- js中的break,continue和return到底怎么用?
为什么要说个?好像很简单,但是我也会迷糊,不懂有时候为什么要用return,然而break和continue也经常和他放在一起. 所以就一起来说一说,这三个看起来很简单,却常常会出错的关键词的具体用法 ...
- [转帖]Shell脚本中的break continue exit return
Shell脚本中的break continue exit return 转自:http://www.cnblogs.com/guosj/p/4571239.html break结束并退出循环 cont ...
随机推荐
- jennifersoft,phantomjs
http://jennifersoft.com/en/ Real Value of APM (Application Performance Monitoring) http://npm.taobao ...
- 为何没有asia/beijing时区?
Asia/Beijing 这个时区是消失了么? 大约1小时 ago @tinyfool 对啊,我就奇怪为什么北京时间就要用上海和成都... 大约1小时 ago @tinyfool @CatChen我所 ...
- 唱吧DevOps的落地,微服务CI/CD的范本技术解读
1.业务架构:从单体式到微服务 K歌亭是唱吧的一条新业务线,旨在提供线下便捷的快餐式K歌方式,用户可以在一个电话亭大小的空间里完成K歌体验.K歌亭在客户端有VOD.微信和Web共三个交互入口,业务复杂 ...
- sql server按符号截取字符串
http://www.360doc.com/content/12/0626/13/1912775_220523992.shtml
- Python2 与 Python3 的编码对比
在 Python 中,不论是 Python2 还是 Python3 中,总体上说,字符都只有两大类: 通用的 Unicode 字符: (unicode 被编码后的)某种编码类型的字符,比如 UTF-8 ...
- python selenium-webdriver 元素操作之键盘操作
selenium 提供了比较完整的键盘操作,在使用的模拟键盘操作之前需要我们导入from selenium.webdriver.common.keys import Keys即可,然后就可以来模拟键盘 ...
- 自动化脚本中click()或sendKeys()没有反应
前提: 排除xpath引用错误或元素的xpath每次都不同的情形. 问题描述 自动化脚本中click()方法和sendKeys()方法报错, 返回异常InvocationTargetException ...
- retry.go
package clientv3 import ( "github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes" p ...
- Android+appium +python 点击坐标tap方法的封装
当常使用的查找点击元素的方法name.id.classname等无法使用时,我们将会采取坐标的点击来实现操作,同样存在一个问题,当手机的分辨率.屏幕大小不一致时,坐标的定位也会不同,因此将采用相对坐标 ...
- JAVA使用POI获取Excel的列数与行数
Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能. 下面这篇文章给大家介 ...