Java中break、continue与return的区别
2016-07-27 14:33
423 查看
1. break
break语句的使用场合主要是switch语句和循环结构。在循环结构中使用break语句,如果执行了break语句,那么就退出循环,接着执行循环结构下面的第一条语句。如果在多重嵌套循环中使用break语句,当执行break语句的时候,退出的是它所在的循环结构,对外层循环没有任何影响。如果循环结构里有switch语句,并且在switch语句中使用了break语句,当执行switch语句中的break语句时,仅退出switch语句,不会退出外面的循环结构。通过图3-17,读者可以很直观地了解break语句的使用。
2. continue
continue语句是这5种结束循环的方式中最特殊的,因为它并没有真的退出循环,而是只结束本次循环体的执行,所以在使用continue的时候要注意这一点。图3-18为各种循环结构中continue语句的使用。
在for循环中,首先执行表达式1(注意表达式1在整个循环中仅执行一次),接着执行表达式2,如果满足条件,那么执行循环体,如果在循环体中执行了continue语句,那么就跳转到表达式3处执行,接下进行下一次循环,执行表达式2,看是否满足条件;在while循环中,如果执行了continue语句,那么就直接跳转到表达式处,开始下一次的循环判断;在do while循环体中如果执行了continue语句,那么就跳转到表达式处进行下一次的循环判断,这一点前面已经验证过了。
(点击查看大图)图3
3. return语句
如果在程序中遇到return语句,那么代码就退出该函数的执行,返回到函数的调用处,如果是main()函数,那么结束整个程序的运行。图3-20为return语句的使用。
如果是在自定义的函数中执行,那么执行return之后就返回到函数的调用处继续往下执行。
转载自:http://blog.csdn.net/hunanchenxingyu/article/details/8101795
break语句的使用场合主要是switch语句和循环结构。在循环结构中使用break语句,如果执行了break语句,那么就退出循环,接着执行循环结构下面的第一条语句。如果在多重嵌套循环中使用break语句,当执行break语句的时候,退出的是它所在的循环结构,对外层循环没有任何影响。如果循环结构里有switch语句,并且在switch语句中使用了break语句,当执行switch语句中的break语句时,仅退出switch语句,不会退出外面的循环结构。通过图3-17,读者可以很直观地了解break语句的使用。
(点击查看大图)图3-17 break语句 |
continue语句是这5种结束循环的方式中最特殊的,因为它并没有真的退出循环,而是只结束本次循环体的执行,所以在使用continue的时候要注意这一点。图3-18为各种循环结构中continue语句的使用。
在for循环中,首先执行表达式1(注意表达式1在整个循环中仅执行一次),接着执行表达式2,如果满足条件,那么执行循环体,如果在循环体中执行了continue语句,那么就跳转到表达式3处执行,接下进行下一次循环,执行表达式2,看是否满足条件;在while循环中,如果执行了continue语句,那么就直接跳转到表达式处,开始下一次的循环判断;在do while循环体中如果执行了continue语句,那么就跳转到表达式处进行下一次的循环判断,这一点前面已经验证过了。
(点击查看大图)图3
3. return语句
如果在程序中遇到return语句,那么代码就退出该函数的执行,返回到函数的调用处,如果是main()函数,那么结束整个程序的运行。图3-20为return语句的使用。
(点击查看大图)图3-20 return语句 |
转载自:http://blog.csdn.net/hunanchenxingyu/article/details/8101795
相关文章推荐
- 对uiview实现部分圆角
- Bluetooth-->蓝牙开发之状态判断
- UITableViewCell显示动画
- UIView非常用方法及属性详解
- hdu 1005 Number Sequence
- Rescue
- Android酷炫实用的开源框架(UI)
- MiniGUI.cfg 文件详解
- String、StringBuffer和StringBuilder
- Android Studio里面的Build.gradle的详细配置说明
- building-librtmp-for-ios
- iOS UINavigationController控制view在navigation item下,在bottom bar上
- poj_2778_DNA Sequence(AC自动机+矩阵)
- 救济金发放 (The Dole QUEUE UVa 133)
- com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK assets/com.xx.xx
- mybatis_helloWorld_sequence图(3)
- UVA 540-Team Queue
- foreach (int i in d.Values) Console.Write(i);
- Umbraco中的ModelBuilder
- Runtime实例之-UIMenuController的使用