关于for循环中,不同时机return 时,for循环的执行情况
2016-10-15 09:10
417 查看
在做一个项目时,总结一下不同情况下return,会产生不同的结果。从而实现你的业务逻辑。
先上测试代码:
打印日志信息:
总结:当外侧层for循环执行到i=2时,if语句执行 return后,该for循环不在继续遍历,而且该方法或者该程序也不再继续往下执行,但是内侧for循环能完成全部遍历。
打印日志信息:
总结:这种情况,就是两个for循环,都正常遍历,都遍历完,并且继续执行以下的语句。
打印日志信息:
总结:当内层for循环执行到 j=2时,if语句执行 return后,该for循环不在继续遍历,而且外侧for循环也不再继续遍历,而且该方法或者该程序也不再继续往下执行。
感觉不错的话,给点个赞吧,谢谢!
先上测试代码:
情况一:
public static void main(String args[]) { int b = 0; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { if (i == 2) { return; } b++; System.out.println("ForTest.main b= " + b); } System.out.println("ForTest.main for i"); } System.out.println("ForTest.main"); }
打印日志信息:
ForTest.main b= 1 ForTest.main b= 2 ForTest.main b= 3 ForTest.main for i ForTest.main b= 4 ForTest.main b= 5 ForTest.main b= 6 ForTest.main for i
总结:当外侧层for循环执行到i=2时,if语句执行 return后,该for循环不在继续遍历,而且该方法或者该程序也不再继续往下执行,但是内侧for循环能完成全部遍历。
情况二:
在情况一的基础上,如果把return语句注释for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { if (i == 2) { // return; //把return语句注释 } b++; System.out.println("ForTest.main b= " + b); } System.out.println("ForTest.main for i"); } System.out.println("ForTest.main");
打印日志信息:
ForTest.main b= 1 ForTest.main b= 2 ForTest.main b= 3 ForTest.main for i ForTest.main b= 4 ForTest.main b= 5 ForTest.main b= 6 ForTest.main for i
ForTest.main b= 7
ForTest.main b= 8
ForTest.main b= 9
ForTest.main for i
ForTest.main
总结:这种情况,就是两个for循环,都正常遍历,都遍历完,并且继续执行以下的语句。
情况三:
还是在情况一的基础上,如果把 i 换成 j ;for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { if (j == 2) {//把 i 换成 j return; } b++; System.out.println("ForTest.main b= " + b); } System.out.println("ForTest.main for i"); } System.out.println("ForTest.main");
打印日志信息:
ForTest.main b= 1 ForTest.main b= 2
总结:当内层for循环执行到 j=2时,if语句执行 return后,该for循环不在继续遍历,而且外侧for循环也不再继续遍历,而且该方法或者该程序也不再继续往下执行。
感觉不错的话,给点个赞吧,谢谢!
相关文章推荐
- 关于for循环中三个语句的执行顺序
- 关于执行两个for循环效率注意点
- 执行原因【菜鸟笔记】Ubuntu系统shellscript中 关于for循环以及declare出错的原因
- 在vc中调试,如何使一个for循环执行100次,而不退出for循环(调试方法)
- 关于for循环执行顺序
- return的用法是什么?若用在for循环中,还会执行下一次循环吗?
- 关于 自减运算符 (i--/--j)在 循环(for与while)中的执行过程
- 关于for循环的执行效率的问题
- 关于for 循环里 线程执行顺序问题
- 关于return和finally的执行时机的一点小问题
- 关于for循环的执行效率问题
- 跳出内层for循环,而不执行外层for循环剩余语句
- 跳出双重for循环的案例__________跳出了,则不再执行标签ok下的for循环代码
- 关于返回Return的一些困惑:”for(){return;}是否退出循环?“
- 关于C语言中for循环的执行顺序
- 关于for循环中break和return区别。
- 神奇的for循环,让你的for循环执行100w + 1比100w次快200w倍
- 关于unity中使用yield return newWaitForSeconds()后面语句不执行
- for循环的语句执行顺序
- 深入了解 foreach 和 for 循环到底有哪些不同 (一)