运算符(算术运算符,赋值运算符,关系运算符,逻辑运算符,位运算符,三目(元)运算符)
赋值运算符
赋值运算符
=把右边的赋值给左边
扩展赋值运算符(底层强制转换类型)
+= -+ *= /= %= &=(按位与等) |=(按位或等) ^=(按位异或等)
关系运算符
关系(比较)(结果值一定是布尔值)
== != >= <= > <
算术运算符
算数运算符
+ - * / % ++ --
++ --:
使用方式:单独使用 参与运算
当++,--出现在数值的后面时。先传值再自加1、自减1
当放在后面时,先自加1、自减1再传值
逻辑运算符
逻辑运算符
用于连接左右两边布尔值
&(逻辑与) |(逻辑或) ^ (逻辑异或 ) !(逻辑非)
&&(双与) ||(双或)
总结:
1.&:遇见false则false
2.|:遇见true则true
3^:相同则false,不同为true(同性相斥,异性相吸)
4!:结果值取反(当出现偶数个时结果不变)
5.&&:和逻辑与的运算律一样
&&,||
&&和&运算规律一致,担当&&左边出现false时,右边默认不执行---短路效果
||和|运算规律一致,但当||左边出现true时,右边默认不执行----短路效果
当||出现在&&//的左边,且||出现短路,就会把后面的内容包括&&全部短路掉
三目运算符
三目(元)运算符(结果一定是一个值)
格式:
布尔表达式? 表达式值1:表达式值2;
流程:
先计算出布尔表达式的值,如果是true返回表达式值1,如果为false,返回表达式值2
位运算符
位运算符
数据转成二进制补码形式
&(按位与) |(按位或) ^(按位异或) ~(按位取反)
>>(右移) <<(左移) >>>(无符号右移)
>>(右移): 当正数进行右移时,右移几位就在最左边(最高位)补上几个0.当负数右移时,右移几位就在最左边(高位)补几个1
<<(左移):无论正负数左移几位就在最右边(最低位)补几个0
>>>(无符号右移):无论正负数,右移几位就在最高位补几个0
按位异或的扩展论
当一个整数按位异或上另一个整数两次时结果还是本身
例题:两个数值交换
效率:按位异或(整数)
>求和(一般是整数小数有时不精准)
>中间变量(常用 任意数据 简单)