运算符完结补充

运算符完结

逻辑运算符

&& || !
and or 反义
  • &&:你我都对才有true

  • ||:你我有一个对就是true

  • !:将运算结果反转true变false false变true

实例

备注:用逻辑运算符进行运算是遵从短路原则,假设使用a&&b,a一旦不成立b中的内容也不会被执行,如果我们给c赋值为5,在a不成立的条件下,在b输入c++后,得到的c值仍然是5,但如果我们在a输入c++,得到最终c的值变为了6

由图可知即使a不成立a也会被执行,使c的值增加,同理只要a成立,则会开始执行b,那么不论b是否成立,也会使c加上一

位运算符

涉及底层逻辑,计算机为二进制编码,位运算机制不好口头解释,如图

实例

  • &:两个值都是一才输出一,其余为零

  • |:两个值有一个是一则输出一

  • ^:两个值相同输出零,不相同输出一

  • ~:零变为一,一变为零

  • <<:所有数字左移动,每移动一次*2

  • >>:所有数字右移动,每移动一次/2

    面试题见上图

条件运算符(三元运算使用,很好用要会,可增强代码可读性

如x?y:z意思为如果x为true则y,否则z

我的实践成果

扩展值运算符(初学不建议使用)

  • a+=b a=a+b
  • a-=b a=a-b
  • 乘除同理

关键

这两种运算是给a重新赋值,并且遵循一定顺序,上图先给a赋值30并输出a,然后a以30的值来减去b,故得到10,而不是-10

字符串链接符

例图

+的两侧只要有一方出现了string类型,就会把另外一个转换为string,a被转换变成string,进而使b在变成string,而string类型的+为连接,故出现1020,而第二个先执行a+b得出int的30后再被转换为string,故输出是string类型的30

优先级

查阅表

posted @ 2023-09-14 22:24  huayulianai  阅读(15)  评论(0)    收藏  举报