多重循环的退出问题 if-break
来源:互联网 发布:音乐信息编辑软件 编辑:程序博客网 时间:2024/05/14 15:31
其实大家可能经常用多重循环去判断这个判断那个,然后判断完了赋值,然后就直接退出了,或者在退回到某层循环的时候执行些什么,有什么好方法可以直接退到我们想退的层呢?
刚好这个项目有好几处这样的判断,所以我就对这里进行一下自己的总结。
我在代码里面使用了两种方法,大家可以等我讲完了,看看那种更适合自己,以后写代码的时候也就可以直接简化一下复杂的判断了。
第一种便是break,肯定有童鞋会问了,break不是跳出一层循环吗?怎么可以跳出多层循环呢,那就多放点break嘛,呵呵,其实答案就是你们想的这样,每层都放上break,然后定义函数级变量来记录状态,把break放在if里面,这就是最好的方法。
第二种就是用goto。直接goto到你需要的层面上。很多人都说goto不能用,其实是不能乱用,主要是怕你驾驭不了这个函数,如果你注意方法,再该用的地方再用,那就可以使用了。
一般情况我是这样的,如果一个程序中,有三层以下的循环,而且每一层都要赋值或者操作的话,建议用if-break来处理。而当你发现你已经写了快五六个状态变量的话,就可以重写一下,将if-break改成goto了。
当然大家肯定各自都有各自的思路,我的这种想法,肯定也是大家想过的,我只是在这里小结一下,其实说白了,就是把他们用到该用的地方,花最少的力气,解决最复杂的事情。有时间,写段代码上来,供大家研究
其实大家可能经常用多重循环去判断这个判断那个,然后判断完了赋值,然后就直接退出了,或者在退回到某层循环的时候执行些什么,有什么好方法可以直接退到我们想退的层呢?
刚好这个项目有好几处这样的判断,所以我就对这里进行一下自己的总结。
我在代码里面使用了两种方法,大家可以等我讲完了,看看那种更适合自己,以后写代码的时候也就可以直接简化一下复杂的判断了。
第一种便是break,肯定有童鞋会问了,break不是跳出一层循环吗?怎么可以跳出多层循环呢,那就多放点break嘛,呵呵,其实答案就是你们想的这样,每层都放上break,然后定义函数级变量来记录状态,把break放在if里面,这就是最好的方法。
第二种就是用goto。直接goto到你需要的层面上。很多人都说goto不能用,其实是不能乱用,主要是怕你驾驭不了这个函数,如果你注意方法,再该用的地方再用,那就可以使用了。
一般情况我是这样的,如果一个程序中,有三层以下的循环,而且每一层都要赋值或者操作的话,建议用if-break来处理。而当你发现你已经写了快五六个状态变量的话,就可以重写一下,将if-break改成goto了。
当然大家肯定各自都有各自的思路,我的这种想法,肯定也是大家想过的,我只是在这里小结一下,其实说白了,就是把他们用到该用的地方,花最少的力气,解决最复杂的事情。有时间,写段代码上来,供大家研究
- 多重循环的退出问题 if-break
- JavaScript break跳出多重循环以及退出each循环
- JAVA——如何应用break退出多重循环
- break跳出多重循环
- break退出循环
- 退出循环break
- JavaScript break跳出多重循环
- JavaScript break跳出多重循环
- 用break跳出多重循环
- 关于js的break不能跳出多重循环的解决方法。
- java带标号的break跳出多重循环
- 关于多重循环与break的一点疑惑
- while switch break退出循环
- 退出循环:break和continue
- 4-2-2 多重循环-break跳出
- java中利用break跳出多重循环
- javaScript如何跳出多重循环break、continue
- Java中多重循环的优化问题
- Introduce to WebKit2
- test
- 内联函数不能递归
- linux下oracle备份策略(rman)
- 274. Little things amuse little minds. 小人无大志
- 多重循环的退出问题 if-break
- vb.net生成exe之后,在其bin\Release目录下的exe点击无反应的解决办法(亲身实践)
- HDU-2846-Repository
- python + gtk 参考网站
- oracle删除数据库
- HDOJ 3507
- wxWidget treecontrol响应drag的步骤
- 创建一个调色板
- 让你少奋斗10年的工作经验