运算符总结
运算符归纳整理
- 一元运算符:+,-,++,-- 等; (只有一个变量参与运算,例如:i++)
- 二元运算符:+,-,*,/ ,=,+= 等; (有两个变量参与运算,例如:a+b,a+=b)
- 三元运算符:?: ; (三个变量参与运算,例如:(a)?b:c )
- 算数运算符:+,-,*,/,%,++,-- ;
- 赋值运算符:+=,-=,*=,/=,= ;
- 关系运算符:>,<,>=,<=,==,!= ;
- 逻辑运算符:!,&,&&,|,||,^ ;
- 位运算符:>>,<<,>>>,&,|,^,~ ;位运算符都是进行二进制运算
- 条件运算符:?: ;
运算符解释:++,–,+=,-=,*=,/=
- i++ = i+1;
- i-- = i-1;
- i+=n → i = i+n;
- i-=n → i = i-n;
- i*=n → i = i*n;
- i/=n → i = i/n;
运算符解释:%(求余)
n = i%j;(“i”整除于“j”,多出来无法整除的数为余,也就是“n”)
n的取值在:0 ~ (j-1)之间。
运算符解释:<<,>>
左移运算符:<<; i<<n = i * 2n;
右移运算符:>>; i>>n = i / 2n;
例如:6>>2 = 6 / 22 = 6 / 4 = 1;(结果取整数)
运算符解释:&,|,~
-
与运算符:& ;
例子: 6&3 = ?
6的二进制:0110;
3的二进制:0011;
计算:
0110(6)
&(与运算,两个都为1结果为1,其他都为0)
0011(3)
——————
0010 = 2
6&3 = 2; -
或运算符:| ;
例子: 6|3 = ?
6的二进制:0110;
3的二进制:0011;
计算:
0110(6)
|(或运算,两个都为0结果为0,其他都为1)
0011(3)
——————
0111 = 7
6|3 = 7; -
反码运算符:~ ;
例子: ~ 6和~(-6)
6的二进制: 00000110
~ 6: 01111001(除了开头符号位,其他0-1互换)
-6的二进制: 10000110
~(-6): 11111001(除了开头符号位,其他0-1互换)
运算符解释:?:
(条件)?结果1:结果2 ;
例子: i = (a>1)?10:20
如果a>1时,i = 10;(条件为真)
如果a<=1时,i = 20;(条件为假)
逻辑运算符 &&、|| 和 &、| 的区别
短路逻辑运算符:&&,||
- 如果“&&”运算符第一个表达式为false,结果为假,第二个表达式不会执行判断;
- 如果“||”运算符第一个表达式为true,结果为真,第二个表达式不会执行判断;
非短路逻辑运算符:&,|
- 无论第一个表达式运算符结果如何,两个表达式都会执行判断;