只讨论个大概,不管细节
不同优先级的运算符混在一起,就根据优先级算
相同优先级的运算符混在一起,就看它们的结合性(这里不谈)

一定要记住:括号>基本计算>关系>逻辑>底层选手

1、运算符有哪些?

  1. 单目运算符

    1. *
    2. ++自增,有前置和后置
    3. --自减,有前置和后置
    4. !逻辑非
    5. +正号
    6. -负号
  2. 双目运算符/三目运算符
    1. 算术运算符

      1. +
      2. -
      3. *
      4. /
      5. %
    2. 移位运算符
      1. <<
      2. >>
    3. 关系运算符
      1. <
      2. <=
      3. >
      4. >=
      5. ==
      6. !=
    4. 位运算符(按位进行逻辑计算)
      1. &
      2. |
      3. ^
    5. 逻辑运算符(依据表达式进行逻辑计算)
      1. &&
      2. ||
    6. 条件运算符(三目)?:
    7. 赋值运算符
      1. =
      2. *=
      3. /=
      4. %=
      5. +=
      6. -=
      7. <<=
      8. >>=
      9. &=
      10. ^=
      11. |=
    8. 逗号运算符,

2、运算符优先级原则(一般场景)

  1. 底层选手:逗号运算符赋值运算符优先级最低,之后就是三目运算符双目逻辑运算符
  2. 一般情况下的法则
    1. 单目>双目>三目
    2. 括号>基本计算>关系>逻辑>底层选手
    3. 注意按位逻辑运算符关系运算符

3、常见运算场景

经典数值判断(算数>关系>双目逻辑)

a+2>3&&b-a>4
//相当于
( (a+2) > 3 ) && ( (b-a) > 4 )

经典三目运算符应用

ans=a>b?a:b
//相当于
ans = ( (a>b) ? a:b )

关系>按位运算

3&4!=2
//等价于
3&(4!=2)
//3与1进行按位与运算,结果为1

z=x<y?x++:y++

int x = 1, y = 2, z = 66;
z = x < y ? x++ : y++;
/*等价于
if(x<y) z=x++;
else z=y++;
*/
/*运行结果:
x=2,y=2,z=1
*/

最新文章

  1. ABP源码分析四十四:ZERO的配置
  2. 《java编程思想》读书笔记 暂停一段时间,改为上面的练习题
  3. Sigmaplot激活码获取地址
  4. Redis和Memcache对比及选择(转载)
  5. Heroku空项目 Git本地Push代码错误 以及 Heroku Web启动错误
  6. Hadoop中WritableComparable 和 comparator
  7. 适配iOS10以及Xcode8-b
  8. PCB优化设计(转载)
  9. ZOJ-2112-Dynamic Rankings(线段树套splay树)
  10. c++,命名空间(namespace)
  11. Luogu Dynamic Ranking (带修改的主席树)
  12. Android Studio精彩案例(六)《使用一个Demo涵盖补间动画所有知识》
  13. 无需密码通过scp命令+key的方式实现文件传输
  14. Mac 常用的快捷键
  15. 解决在静态页面上使用动态参数,造成spider多次和重复抓取的问题
  16. 查看LINQ Expression編譯後的SQL語法(转)
  17. Linux设置history命令显示时间
  18. 如何优雅地使用vim编辑器
  19. 阿里前端测试题--关于ES6中Promise函数的理解与应用
  20. Directory类的使用、Alt+Shift+F10可以查看其命名空间

热门文章

  1. python 实现RSA数字签名
  2. week_10
  3. HMS Core 3D流体仿真技术,打造移动端PC级流体动效
  4. 【转载】SQL Server FileStream 体验
  5. Proxyless Mesh 在 Dubbo 中的实践
  6. Java中Elasticsearch 实现分页方式(三种方式)
  7. win10 WSL2问题解决“WslRegisterDistribution failed with error: 0x800701bc”
  8. 如何通过Terraform Associate考试并获得证书
  9. Linux c 检测U盘挂载路径方法
  10. MySQL数据库技术实战