关于for循环中,不同时机return 时,for循环的执行情况
来源:互联网 发布:javaweb和java的区别 编辑:程序博客网 时间:2024/04/30 01:03
在做一个项目时,总结一下不同情况下return,会产生不同的结果。从而实现你的业务逻辑。
先上测试代码:
情况一:
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= 1ForTest.main b= 2ForTest.main b= 3ForTest.main for iForTest.main b= 4ForTest.main b= 5ForTest.main b= 6ForTest.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= 1ForTest.main b= 2ForTest.main b= 3ForTest.main for iForTest.main b= 4ForTest.main b= 5ForTest.main b= 6ForTest.main for iForTest.main b= 7ForTest.main b= 8ForTest.main b= 9ForTest.main for iForTest.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= 1ForTest.main b= 2
总结:当内层for循环执行到 j=2时,if语句执行 return后,该for循环不在继续遍历,而且外侧for循环也不再继续遍历,而且该方法或者该程序也不再继续往下执行。
感觉不错的话,给点个赞吧,谢谢!
1 0
- 关于for循环中,不同时机return 时,for循环的执行情况
- 关于for循环中break和return区别。
- C#关于For循环break,goto,return的应用
- C#关于For循环break,goto,return的应用
- 关于C++中for循环的问题
- 关于返回Return的一些困惑:”for(){return;}是否退出循环?“
- return跳出双重for循环
- 当for循环遇上return
- return的用法是什么?若用在for循环中,还会执行下一次循环吗?
- 关于For循环的学习
- 关于for循环的练习
- 关于for循环的嵌套
- 关于for循环,while循环
- 关于for循环
- 关于for循环
- 关于双层for循环
- 关于for循环
- 关于for循环
- ios10 适配问题总结
- 阻碍新手程序员提升的8件小事
- PCB设计焊盘设计标准
- C#预处理指令的使用
- PCB设计中元器件的封装和孔的设计标准
- 关于for循环中,不同时机return 时,for循环的执行情况
- 关于升级xcode8,谈谈你的新发现!!!
- 01:Hello, World!【代码】
- 怎么用最短时间高效而踏实地学习 Python?
- 分布式对象存储Ambry - 官方博客翻译与摘录(5)运维与迁移
- Liunx之命令行基础知识
- Front End Progressive Enhancement Development
- [USACO2003 Mar]Cornfields玉米实验
- Lantian和Tianqi的移动开发之旅 - 002