do{}while(false);在java中的妙用.
来源:互联网 发布:ai算法 编辑:程序博客网 时间:2024/05/21 22:54
在以前写C程序中经常会有这样的情景.
打开一个资源的句柄.
在打开的这个资源上操作进行多次操作,每一步失败都要关闭这个资源句柄并摧毁它:
if(x1) { close(hd);destory(hd);}
if(x2) { close(hd);destory(hd);}
if(x3) { close(hd);destory(hd);}
等等,如果操作超过3条语句,比如有七八条头十头语句,第个条件分支中都写相同的代码,至少从视觉上感觉自己是一个入门者.
于是C程序会把这些操作写到一个地方加标号,然后每个条件分支中goto过去就行了.
但是在java中,goto肯定不行,有人会把相同的操作封装到一个方法中.每个条件分支中调用这个方法.这当然不失为为一个优雅的方法.
但是...............................
这些共同操作中所要操作的所有变量要作为参数传给方法.而有些参数传递并不是一件容易的事.特别是内部类的参数传递.
那么有什么方法可以象C的goto那样呢?在一定条件下跳过下面的操作直接转到共同的操作代码?
do{}while(false);就可以非常方便地解决这个问题,就实就是利用循环控制的break来跳过下面的操作直接转到循环外来操作.
而把不是循环的逻辑用循环封装起来,那么"只循环一次"就解决的方法,当然你用for(int i=0;i<1;i++){}也行.用
while(true){ }然后最后在{}里的最后一行加break也行,但从优雅的角度说do{}while(false);最好,好最符合它设计的"至少执行一次"
的原意.
do{
其它运算语句;
if(x1) break;
其它运算语句;
if(x2) break;
}while(false);
共同操作语句;
如果满足x1条件,则流程直接转到共同操作语句执行.起到了goto的作用.
- do{}while(false);在java中的妙用.
- do{}while(false);在java中的妙用.
- do while(false)妙用
- do...while(false)的妙用
- do{} while(false) 的妙用
- do...while(FALSE)的两个妙用
- do...while(0) do...while(false)的妙用
- do...while(0) do...while(false)的妙用
- do...while(0) do...while(false)的妙用
- C++ do...while(0) do...while(false)的妙用
- do{}while(false)
- 关于do{...}while(FALSE);
- do while(FALSE)
- do{ } while(false)
- do{}while(false)
- do while(false)
- do while(false)
- do while妙用
- 数据结构和算法系列10 五大查找之二分查找
- java 格式化计算时间差
- 学习Android的准备工作
- 数据结构和算法系列11 五大查找之索引查找
- 如何优化cocos2d程序的内存使用和程序大小
- do{}while(false);在java中的妙用.
- 数据结构和算法系列12 五大查找之二叉排序树
- Linux网卡驱动——网络Link状态检测&设备挂起恢复
- java学习笔记
- ORACLE,REDO01.LOG,REDO02.LOG,REDO03.LOG被删,或ORA-00313
- 在线聊天功能 实现中俄双语实时翻译 原创 加精!!
- 数据结构和算法系列13 五大查找之哈希查找
- Perl入门(一)Perl的基本类型及运算符
- 数据结构和算法系列14 二叉树