文章目录
一、算数运算符
1、+
- 把两个数值相加
2、 -
- 第一个数减去第二个数
3、*
- 把两个数相乘
4、/
- 分子除以分母
5、%
- 取模运算符,整除后的余数
6、++
- 自增运算符,整数值增加1
7、- -
- 自减运算符,整数值减1
二、关系运算符
1、==
- 检查两个数值是否相等,如果相等则条件为真
2、!=
- 检查两个数值是否相等,如果相等则条件为假
3、>
- 检查左边数值是否大于右边数值,如果是则条件为真
4、<
- 检查左边数值是否小于右边数值。如果是则条件为真
5、>=
- 检查左边数值是否大于或者等于右边数值,如果是则条件为真
6、<=
- 检查左边数值是否小于或者等于右边数值,如果是则条件为真。
三、逻辑运算符
1、&&
- 逻辑与运算符,如果两个数都为非零,则条件为真
2、||
- 逻辑或运算符,如果两个数有任意一个非零,则条件为真
!
- 逻辑非运算符,用来逆转操作数的逻辑状态,如果条件为真,则逻辑非运算符将使其为假
四、位运算符
- 按位运算符一共有6个,分别为:& 按位与、| 按位或、^ 按位异或、~ 取反、>> 右移、<< 左移。
1、& 按位与
- 按位与是二元运算符,运算中对应的数都为1则结果为1,任意一个数为0,则结果为0。
例子:
0x01 & 0x03
0x01二进制位 0000 0001,
0x03二进制位 0000 0011,
两个&之后结果为:0000 0001,为 0x01
2、| 按位或
- 按位或是二元运算符,运算中有任意一个数为1则结果为1。
例子:
0x01 | 0x03
0x01二进制位 0000 0001,
0x03二进制位 0000 0011,
两个 | 之后的结果为:0000 0011,为0x03
3、^ 按位异或
- 按位异或是二元运算符,运算中两个数都为0或者都为1则结果为0。
例子:
0 1 0 0 0 0 0 1
0 1 0 1 1 0 1 0
结果为 0 0 0 1 1 0 1 1 - 用来翻转,相同异或为0,不同异或为1.
- 0与任何数异或之后结果都保留原值。
4、~ 取反
- ~ 是对位取反,1变为0,0变为1
5、位移运算符
- << 向左移动,>> 向右移动,超过的位将丢失,而空出的位则补0
例子:
67(十进制)>> 2 和 << 2
67二进制为:0 1 0 0 0 0 1 1
右移2位为:0 0 0 0 1 1 0 0 十进制为12
左移2位为:0 0 0 1 0 0 0 0 十进制为16
五、赋值运算符
1、=
- 把右边的值赋值给左边,C=A+B
2、+=
- 加且赋值运算符,把左边的数加上右边的数结果再赋值给左边的操作数
- C += A 相当于 C = C + A
3、-=
- 减且赋值运算符,左边的数减去右边的数结果再赋值给左边的操作数
- C -= A 相当于 C = C - A
4、*=
- 乘且赋值运算符,左边的数乘以右边的数再赋值给左边的操作数
- C *= A 相当于 C = C * A
5、/=
- 除且赋值运算符,左边的数除以右边的数值再赋值给左边的操作数
- C /= A 相当于 C = C / A
6、%=
- 求模且赋值运算符,两个数值的数值求模再赋值给左边的操作数
- C %= A 相当于 C = C % A
7、<<=
- 左移且赋值运算符
- C <<= 2 相当于 C = C << 2
8、>>=
- 右移且赋值运算符
- C >>=2 相当于C = C >> 2
9、&=
- 按位与且赋值
- C &= 2 相当于 C = C & 2
10、^=
- 按位异或且赋值运算符
- C ^= 2相当于 C = C ^ 2
11、|=
- 按位或且赋值运算符
- C |= 2 相当于 C = C | 2
六、条件运算符(?:)
- 条件表达式:表达式1?表达式2:表达式3
- 表达式1成立时,执行表达式2,表达式2的结果就是这个条件表达式的结果;表达式1不成立时,执行表达式3,表达式3的结果就是这个条件表达式的结果。