一、算数运算符
1、算术运算符包括:
+,-,*,/,%,++,- -
2、优先级:单目 > 双目 > 三目
3、i++和++i的区别:
注意:++ i 是先加后赋值;i ++ 是先赋值后加;
直接上图:
二、关系运算符
关系运算符包括:> >= < <= == != ,经常用于流程控制。
三、位运算符
1、位运算
①&位与 , 两边都是true 结果才是true,也可以两边是数字
②| 位或 一边为true 结果就为true
③! 位非,取反 !true 就是false , !false 就是true
④^ 异或 ,两边不一样就是true
⑤~ 按位非,转换为二进制,然后 每位取反
2、逻辑 比较
①&& : 短路与,切 , 如果 第一个就为假,第二个表达式就不执行了,结果为假。
②|| : 短路或,或,如果第一个为真,第二个就不执行了。
3、右移运算符(考虑符号位,符号位不移动,正数就是正数,负数就是负数)
比如:8 >> 2, 8的二进制位0000 1000 向右移动两位就是0000 0010,先转换为二进制,然后符号位之后补两个0,最右边删除两位。
可以记住这个,右移 8 >> n 就等于 8 / 2^n
4、 左移运算符(不考虑符号位),向最左边补0
(道理同右移运算符)
5、右移运算符(不考虑符号位):>>>
①如果是正数,>>>和>> 没有区别,因为最前面都是0。
②如果是负数, >> 只会在符号位之后补1 , 而 >>> 在符号位之前 补0
四、赋值运算符
① = : 把右边的赋值给左边,如果右边是个运算,需要把运算结果赋值给左边
② += : 左边和右边相加,结果赋值给左边
③ -= : 左边减右边,结果赋值给左边
④ *= :左边乘右边,结果赋值给左边
⑤ /= :左边除右边,结果赋值给左边
⑥ %= :左边对右边取余,结果赋值给左边