1. 算术运算符
运算符 | 描述 | 示例 | 结果 |
---|---|---|---|
+ | 加 | y = 1;x = y + 1 | x = 2 |
- | 减 | y = 10;x = y - 5 | x = 5 |
* | 乘 | y = 2;x = y * 5 | x = 10 |
/ | 除 | y = 10;x = y / 5 | x = 2 |
% | 取余 | y = 3; x = y % 2; | x = 1 |
++ | 自加 | y = 1;x = + + y | x = 2 |
- - | 自减 | y = 1;x = - - y | x = 0 |
2.逻辑运算符
运算符 | 描述 | 作用 |
---|---|---|
& | 按位与 | 同真则真,否则为假(1&1=1;1&0、0&0、0&1均为0) |
&& | 逻辑与 | 同真则真,否则为假(1&1=1;1&0、0&0、0&1均为0) |
| | 按位或 | 同假则假,否则为真(0&0=0;1&0、0&0、0&1均为1) |
|| | 逻辑或 | 同假则假,否则为真(0&0=0;1&0、0&0、0&1均为1) |
! | 非 | 真则假,假则真(取反) |
^ | 按位异或 | 相同为假,不同为真(即对立统一:1 ^ 1 = 0 ^ 0 = 0; 1 ^ 0 = 0 ^ 1 = 1) |
3. 位运算符(均基于二进制)
3.1 " << " 左移运算符
(1)一般表达式:m << n --> m*(2^n)
(2)示例:3 << 2 = 3* 2^2 = 12
3.2 " >> " 右移运算符
(1)一般表达式:m >> n = m / (2^n)
(2) 最左侧填充:原始数据最高位是什么,最高位就填充什么。
由于计算机中数据为补码存储,故数据的位移运算用补码进行,3>>1的结果为00000001可知为正数,原码、补码、反码均相同,则结果为 1(00000001);-3>>1的补码为1111110,为负数,补码与原码不同,求原码时需对补码减1再按位求反(除符号位外),最终结果为-2(10000010)。
3.3 " >>> "无符号右移
(1)原则: 无论最高位是什么,右移后最高位均补0
(2)示例:6>>>2
可知6>>>2 = 1(00000001)
3.4 " ~ " 反码
(1)原则:按位取反
(2)示例:~3 = -4(10000100)
4 三元运算符——“ (判断)?m:n ”
示例:m = 4 > 3 ? 50 : 60
此 时m=50;即若判断为真则取m的值,反之则取n的值。