Thinging in Java学习笔记之continue,break和标签
2016-05-10 11:15
495 查看
出处:Thinging in Java
continue和break多用于管理循环体代码的执行。通过continue会直接跳过剩下的代码回到for循环的判断语句或者是while循环的判断语句,而break会直接结束循环从循环后面的代码继续运行。
标签是第一次接触,标签是后面跟一个冒号的标识符,如
它和循环体应该是紧靠着的,即两者之间没有别的语句。(一定要记得标签的书写规范,还有标签和循环体之间不写别的代码,别又忘记了)
标签和continue、break组合实现了goto的效果。
下面是书中的例子
结果是
i = 0
continue inner
i = 1
continue inner
i = 2
continue
i = 3
break
i = 4
continue inner
i = 5
continue inner
i = 6
continue inner
i = 7
continue outer
i = 8
break outer
所以总结下continue、break和标签的效果是continue或者break结合标签会让continue和break到达指定的循环,即continue+inner让机器执行到inner所表示的循环即内循环的判断语句处,而continue+outer让机器执行到outer所表示的循环即外循环的判断语句处。break+inner让机器从内循环结束的地方开始继续运行,break+outer让机器从外循环结束的地方开始继续运行。
i++没有执行不懂是怎么回事
continue和break多用于管理循环体代码的执行。通过continue会直接跳过剩下的代码回到for循环的判断语句或者是while循环的判断语句,而break会直接结束循环从循环后面的代码继续运行。
标签是第一次接触,标签是后面跟一个冒号的标识符,如
lable:
它和循环体应该是紧靠着的,即两者之间没有别的语句。(一定要记得标签的书写规范,还有标签和循环体之间不写别的代码,别又忘记了)
标签和continue、break组合实现了goto的效果。
下面是书中的例子
import java.util.*; public class Test{ static void prt(String s){ System.out.println(s); } public static void main (String[] args){ int i=0; outer: for (; true; ) { inner: for (int j=0; i<10; i++,j++) { prt("i = "+i); prt("j = "+j); if (i==2) { prt("continue"); continue ; } if (i==3) { prt("break"); i++; break; } if (i==5) { prt("continue outer"); i++; continue outer; } if (i==8) { prt("break outer"); break outer; } for (int k=0; k<5; k++) { if (k == 3) { prt("continue inner"); continue inner; } } } } } }
结果是
i = 0
continue inner
i = 1
continue inner
i = 2
continue
i = 3
break
i = 4
continue inner
i = 5
continue inner
i = 6
continue inner
i = 7
continue outer
i = 8
break outer
所以总结下continue、break和标签的效果是continue或者break结合标签会让continue和break到达指定的循环,即continue+inner让机器执行到inner所表示的循环即内循环的判断语句处,而continue+outer让机器执行到outer所表示的循环即外循环的判断语句处。break+inner让机器从内循环结束的地方开始继续运行,break+outer让机器从外循环结束的地方开始继续运行。
i++没有执行不懂是怎么回事
相关文章推荐
- POJ 1904 King's Quest强连通分量+二分图完美匹配
- iOS开发 - 第01篇 - UI基础 - 01 - 从Storyboard开始学习
- 更改UITableView左边编辑图片
- android stuido build 慢的解决办法
- NSTimer 倒计时自动登录,每秒更新UI
- [Vue warn]: Attribute "id" is ignored on component <div> because the component is a fragment instan
- easyui打开dialog后给弹出框内输入框赋值问题
- 解决粒子特效被NGUI遮挡的问题
- Druid连接池配置
- IOS开发之手势——UIGestureRecognizer 共存
- 【ios学习记录】- UITextField输入浮点数的限制
- TextView 上下默认有padding
- targetSdkVersion 23以下6.0中调用requestPermissions()的问题
- hust Integer Inquiry(字符串,大数相加)
- iOS quartzCore第五章——CAShapeLayer画各种图形 结合UIBezierPath
- 有关easyui-layout中的收缩层无法显示标题的解决办法
- tableview的dequeueResuableCellWithIdentifier会调用initWithStyle
- 清空保存UI控件的数组
- Field 'id' doesn't have a default value 这个错误完美解决
- UUID组成