对break和continue的一些个人认知(称不上见解)
2013-10-28 13:13
197 查看
break语句可以中止循环中的子语句和switch语句。一个无标号的break语句会把控制传给当前(最内)循环(while,do.for或Switch)的下一条语句。如果有标号,控制会被传递给当前方法中的带有这一标号的语句。
continue语句只能出现在循环语句(while,do,for)的子语句块中,无标号的continue语句的作用是跳过当前循环的剩余语句块,接着执行下一次循环。如果有标号,控制会被传递给当前方法中的带有这一标号的语句。
break和continue在不带有标号的情况下都很好理解,但是带有标号之后,效果却各有春秋:
(1)break带标号:
1 int a=3;
2 boolean b=true;
3 while(b){
4 System.out.println(a+"/"+b);
5 t:while(b){
6 System.out.println(!b);
7 if(a==3){
8 break t;
}
}
}
结果是break将会跳到第5句,但是重复执行第4句和第6句的输出语句。
再看看如果是continue会是什么结果:
1 int a=3;
2 boolean b=true;
3 while(b){
4 System.out.println(a+"/"+b);
5 t:while(b){
6 System.out.println(!b);
7 if(a==3){
8 continue t;
}
}
}
运行后,结果却是重复执行第6句而已。
break和continue的区别即在此,本人水平有限,见谅。
continue语句只能出现在循环语句(while,do,for)的子语句块中,无标号的continue语句的作用是跳过当前循环的剩余语句块,接着执行下一次循环。如果有标号,控制会被传递给当前方法中的带有这一标号的语句。
break和continue在不带有标号的情况下都很好理解,但是带有标号之后,效果却各有春秋:
(1)break带标号:
1 int a=3;
2 boolean b=true;
3 while(b){
4 System.out.println(a+"/"+b);
5 t:while(b){
6 System.out.println(!b);
7 if(a==3){
8 break t;
}
}
}
结果是break将会跳到第5句,但是重复执行第4句和第6句的输出语句。
再看看如果是continue会是什么结果:
1 int a=3;
2 boolean b=true;
3 while(b){
4 System.out.println(a+"/"+b);
5 t:while(b){
6 System.out.println(!b);
7 if(a==3){
8 continue t;
}
}
}
运行后,结果却是重复执行第6句而已。
break和continue的区别即在此,本人水平有限,见谅。
相关文章推荐
- 【开发手札】关于开发的一些个人心得见解
- Break和Continue的一些注意事项
- SpringMVC - 个人对@ModelAttribute的见解 和 一些注入参数、返回数据的见解
- C# 连接池(Connection Pool)的一些个人见解
- 关于Android中http请求Gosn解析的一些个人见解: 首先是XML中构建布局: 在布局里面建一个listview用来展示Gson解析的字符
- break和continue跳出指定for循环(for一些特点)
- 使用Httpclient调用API的一些个人见解(返回的json)
- 个人对面向对象的一些见解
- Android对ViewGroup中OnMeasure方法的一些个人见解
- 个人对web前端工作时候的一些见解
- 对fork,vfork 与exec的一些个人见解
- WebBulider的一些常用变量和控件的个人见解(有可能不准,不要当成文档看)
- ios 内存管理个人一些见解
- 关于C语言中 rand()函数的一些个人积累和见解z
- 关于ADO.Net连接池(Connection Pool)的一些个人见解
- 一些个人见解
- ISEEIP , CSDHA ---关于ISEEIP 2013(2012)和 CSDHA 2013会议的一些认识和个人见解
- 关于哪种杀毒软件最好的一些个人见解[转载]
- 面向对象设计的一些个人认知阶段性总结
- JAVA学习笔记(5)_____String对象比较的一些个人见解