自增、自减运算符
y=5 x y
x = y++; 5 6
x = ++y; 6 6
x = y--; 5 4
x = --y; 4 4
效率: ++a > a++ > a+=1 > a=a+1
比较运算符
逻辑运算符
短路逻辑
条件1 && 条件2 当条件1为false时,条件2就不执行了,
条件 && 操作 就是一个简化的if判断语句。
条件运算符
variablename = (判断条件)?value1:value2;
ture返回value1,false返回value2。
位运算符
作用:将数字转换为二进制后进行运算
注:只对整数运算,如果是小数,会去掉小数位再运算
&与
对应的二进制位都为 1 ,则该位的运算结果为 1 ,否则为 0
5 0000 0101
6 0000 0110
5&6结果为 0000 0100 即4
| 或
对应的二进制位有一个或两个为 1 ,则该位的运算结果为 1 ,否则为 0
^ 异或
对应的二进制位不相同时,结果为 1 ,否则为 0
~ 取反
将对应的二进制数逐位反转,即 1 取反后变 0 , 0 取反后变 1
<<左移
使指定的二进制位都左移指定的位数,左移指定位之后,左边高位的数值将被移出并丢弃,右边低位空出的位置用 0 补齐
>>右移
使指定的二进制位都右移指定的位数,右移指定位之后,右边低位的数值将被移出并丢弃,左边高位空出的职位用 0 补齐
利用位运算
①判断奇数偶数
和1进行与运算,结果为1为奇数,结果为0是偶数。(注:0是偶数)
②去除小数位
和0进行或运算,结果为去掉小数位的整数
③快速互换数字
把a和b两个数字的值互换
a = a^b;
b = a^b;
a = a^b;