do{}while(false):

在工作中我们能经常发现有人写 do{}while(false)  这样的代码,初看时让人迷惑不解,按照上面的语法 do{}while(false这样 do{} 里面的代码只会执行一次的啊,那么问题来了,为什么要这样写?

试想,我们在工作中是不是经常会遇到一种情况:第二个判断需要依赖第一个判断的结果,甚至第三个判断需要依赖第二个判断的结果。如下样式的代码:

if (one == true) {

    if (two == true) {

        if (three == true) {

            //第三个依赖第二个判断结果,第二个依赖第一个判断结果。
//...
}
}
}

那这样的代码是不是看起来好恶心,各种判断嵌套在一起,很是不容易理清代码逻辑,而且很容易出错。那有没有一种清爽的代码风格来解决这个问题呢?答案肯定是有的,就是我们上面提到 do{}while(false)  。

那要如何用代码实现呢,请看下面的代码示例:

do {
if (one == false) { break;
}
if (two == false) { break;
}
if (three == false) { break;
}
} while (false);

  

既然后面的判断依赖前面的判断结果,那么所有的条件都去判断是否等于false,等于false的直接break跳出do while 循环。这样的代码风格是不是比刚才那种写法清爽多了。

结论:

do{}while(false) 最大意义是:简化 if else  的嵌套结构判断逻辑。

最新文章

  1. 现代3D图形编程学习-关于本书(译)
  2. MVP解析
  3. SQL 语句调用这个存储过程,生成顺序编码
  4. Java Servlet(三):Servlet中ServletConfig对象和ServletContext对象
  5. java中利用JFrame创建窗体 【转】
  6. type和role属性有什么区别呢
  7. Android开发教程app下载无法成功创建问题
  8. 判断https
  9. [iOS微博项目 - 1.7] - 版本新特性
  10. Java深度遍历文件夹(递归实现)
  11. About using UTF-8 fields in MySQL
  12. IIS配置 Web部署 svg/woff/woff2字体 404错误
  13. vs生成解决方案错误无法将文件“xx.*”复制到xx.*”。对路径“bin\xx.*”的访问被拒绝
  14. python pygame--倒计时
  15. 团队作业8——第二次项目冲刺(Bata版本)--第二天
  16. centos7下安装nginx
  17. Python的socket模块与交互式指令
  18. String小案例(**)、包装类型和普通数据类型的转换(拆装箱)
  19. 在Unity中查找缺失的引用
  20. cloneNode

热门文章

  1. Ceph删除OSD上一个异常object
  2. readonly和disabled的区别!
  3. Java学习之AWT GUI编程
  4. TensorFlow_笔记
  5. hive简单的项目实战
  6. 学习搭建 Consul 服务发现与服务网格-有丰富的示例和图片
  7. SQL注入实战新手教程
  8. ABBYY FineReader 14新增了什么
  9. ABBYY FineReader如何将图片转换为Excel
  10. 【mq读书笔记】mq索引文件刷盘