运算符
运算符分为算数运算符、赋值运算符、关系运算符、逻辑运算符、位运算符、条件运算符、扩展赋值运算符。
算术运算符:+,-,*,/,%,++,--
赋值运算符:=
关系运算符:>,<,==,!=,>=,<=,instanceof
逻辑运算符:&&,||,!
位运算符:&,|,^,~,>>,<<,>>>
条件运算符:?:
扩展赋值运算符:+=,-=,*=,/=
+ | 加号(双目运算符时)如:a=1+2; (a=3);正数(单目运算符)如:a=+1; |
- | 减号(双目运算符时)如:a=1-2; (a=-1);负数(单目运算符)如:a=-1; |
* | 乘号(双目运算符)如:a=1*2; (a=2); |
/ | 除号(双目运算符)如:a=1/2; (a=0.5); |
% | 取模(双目运算符)如:a=1%2; (a=1); |
++ | 自增(单目运算符)如:a++; |
-- | 自减(单目运算符)如:a--; |
= | 赋值(双目运算符)如:a=1;读作将1赋值个a |
> | 大于(双目运算符)如:2>1 |
< | 小于(双目运算符)如:1<2 |
== | 等于(双目运算符)如:1==1 |
!= | 不等于(双目运算符)如:1!=2 |
>= | 大于等于 (双目运算符)如:2>=2 |
<= | 小于等于 (双目运算符)如:2<=2 |
instanceof | 类实例对象 (双目运算符)如:Integer integer = new Integer( 1 );boolean b= integer instanceof Integer;(b=true)判断是否是类实例对象 |
&& | 与 (双目运算符)如:boolean a=b && c;两个都为true结果才为true,否则为false |
|| | 或 (双目运算符)如:boolean a=b || c;两个都为false结果才为false,否则为true |
! | 非 (单目运算符)如:boolean a=!b;b为true,则a为false;b为false,则a为true |
& | 按位与(双目运算符)如:int a = 0b10011; int b=0b11001;int c=a&b; (c=10001)相同位都为1那位结果才为1,否则为0 |
| | 按位或(双目运算符)如:int a = 0b10011; int b=0b11001;int c=a|b; (c=11011)相同位都为0那位结果才为0,否则为1 |
^ | 按位异或(双目运算符)如:int a = 0b10011; int b=0b11001;int c=a^b; (c=01010)相同位不相同那位结果才为1,否则为0 |
~ | 按位非(单目运算符)如:int a = 0b10011;int b=~a;(b=01100);每位取反 |
>> | 有符号右移位(双目运算符)如:int a = 0b10011;int b=a>>3;(b=00010);每位向右移3位,前面补0 |
<< | 有符号左移位(双目运算符)如:int a = 0b10011;int b=a<<3;(b=10011000);每位向左移3位,前面补0 |
>>> | 无符号右移位(双目运算符) |
?: | 条件运算符(三目运算符)如:int a=b?c:d;当b为true时a=c的值;当b为false时a=d的值 |
+= | 加等于(双目运算符)如:int a+=b;相当于a=a+b; |
-= | 减等于(双目运算符)如:int a-=b;相当于a=a-b; |
*= | 乘等于(双目运算符)如:int a*=b;相当于a=a*b; |
/= | 除等于(双目运算符)如:int a/=b;相当于a=a/b; |
拓展:
a++;相当于a=a+1;
a+=b;相当于a=a+b;
b=a++;相当于b=a;a=a+1;
b=++a;相当于a=a+1;b=a;
如何快速得到2*8的值? 答:2<<3