在编程中注意一些小细节往往会给我们编程带来很大的效率提升,同时也能避免一些低级错误,如果在if的逻辑运算符中各个表达式的执行顺序。

在if运算符表达式中,&&和||有“短路”现象。

在if(a==b && c == d)的逻辑运算中,该判断逻辑是先判断 a==b是否正确,如果正确则对c==d进行判断;如果a==b是错误的,则不会对c==d进行判断。

在if( a==b && c == d )   的逻辑运算中,该判断逻辑是先判断 a==b是否正确,如果正确则不在对c==d进行判断,如果a==b是错误的,则再对c==d进行判断;

总结:

使用&&时,把大前提条件放在前面,小条件放后面,使用&&时,是第一个表达式成立才继续执行,使用||时,则是第一个表达式不成立才继续执行。

常用的方式有:在判断指针是否可以用时—— if(p==null || *p==0)以及利用短路现象对数组的范围进行判断if( x >=0 && x < Max && array[x]==0)这样使用即对其条件进行了判断,也避免了因为数据越界或为空而出现错误

if中逻辑运算符表达式运行顺序相关推荐

  1. JUnit中@Test的运行顺序

    原文链接: Test execution order 原文日期: 2012年12月06日 翻译日期: 2014年10月16日 翻译人员: 百里马 依照设计,Junit不指定test方法的运行顺序. 到 ...

  2. 有关C/C++中,表达式计算顺序的问题,以及表达式内部变量“副作用”问题(转)...

    经常可以在一些讨论组里看到下面的提问:"谁知道下面C语句给n赋什么值?" m = 1; n = m+++m++; 最近有位不相识的朋友发email给我,问为什么在某个C++系统里, ...

  3. 控制Unity中脚本的运行顺序

    思路就是先拿到脚本和脚本挂的特性值 然后使用monoImportor.Set修改执行顺序 using System; using System.Collections.Generic; #if UNI ...

  4. 关于C语言中表达式运算顺序(优先级、结合性、副作用、序列点)的讨论以及c语言未定义行为

    什么是优先级 到底什么是c语言的优先级? 我以前看了国内的很多教程,对于优先级的描述大多都是这样说的"优先级是用来决定当多个运算符出现在同一个表达式中时,先执行哪个运算符".其实这 ...

  5. C程序语言表达式运算顺序,详解C++编程中表达式的语义与计算顺序

    表达式根据其运算符的优先级和分组来计算. 计算顺序请看以下示例: // expre_pluslang__pluslang_Order_of_Evaluation.cpp // compile with ...

  6. python条件表达式有哪几个_Python中条件表达式的评估顺序是什么?

    我知道python中的条件表达式是x if c else y,但是我在使用它时遇到了一些问题. 我有两个代码要比较. 代码1: 1 2 3 4 5 6 7 8def fun(p): if len(p) ...

  7. Java中static代码块,main函数,构造函数运行顺序

    1.Java中static代码块,main函数,构造函数运行顺序如下: 答:static代码块是主动执行的,因此static代码块先执行,然后是执行构造函数,最后是Main函数. 如下例子: publ ...

  8. JavaEclipse中从Lambada表达式运行错误的解决方法到学到新知识

    package lambda; interface Animal{void shout(); } public class Lambda1 {public static void main(Strin ...

  9. SpringBoot中cron表达式周一到周五运行设置

    SpringBoot中cron表达式周一到周五运行设置 源码级别解答 源码级别解答 周一到周五其实设置的是1-5(可以设置英文MON-FRI),并不是其它文章说的2-6,以下是两个不同版本的sprin ...

最新文章

  1. 【廖雪峰python入门笔记】布尔运算和短路计算
  2. Java 面试知识点解析(二)——高并发编程篇
  3. 多线程 java 实例_Java多线程实例学习
  4. java动态代理_Java动态代理
  5. python程序员自我评价_写给程序员的简明 Python(1)
  6. Gen系列服务器,新计算、新体验 | 新华三全新HPE Gen10系列服务器响彻“云”端
  7. 《大数据》2015年第3期“专题”——网络表示学习(上)
  8. LeetCode Notes_#206 Reverse Linked List(C++,Python)
  9. mysql基础数据类型字节数_MySQL基础之数据类型
  10. 我的世界服务器物品解绑定,我的世界更方便控制VIP物品 灵魂绑定插件分享
  11. Python怎么去写单元测试用例去测试hello world呢
  12. [转]java中的io笔记
  13. dlopen失败一例:路径字串多一个回车,导致文件找不到
  14. 吉林大学计算机学院刘,刘华虓-吉林大学计算机科学与技术学院
  15. java中怎样上传zip_java服务器如何对zip文件分包上传?
  16. python实现简易动态贝叶斯网络的推断
  17. 用Java实现md5加密
  18. linux服务器离线安装python第三方库
  19. 千图成像 马赛克拼图 专用软件 圣诞礼物
  20. 儿童手表语音卡安全吗?

热门文章

  1. zabbix监控系统进阶专题篇(企业微信报警,邮箱报警,电话报警,监控数据库,监控磁盘性能)
  2. js获取摄像头权限实现拍照功能
  3. 从数据开始:『安卓读书』8000 万下载量炼成记
  4. java gul_[java实战篇]--java的GUI(1)
  5. javaScript 结构算法刷题 数组题
  6. SLAM导航机器人零基础实战系列:(四)差分底盘设计——2.stm32主控软件设计
  7. python c++情侣网名是什么意思_Python PK C++,究竟谁更胜一筹?
  8. win7的终端服务器,win7系统远程提示终端服务器超出了最大允许连接的解决方法...
  9. 数据库原理—数据查询
  10. neo4j安装_Neo4J OGM与Quarkus