运算符

运算符分为算数运算符、赋值运算符、关系运算符、逻辑运算符、位运算符、条件运算符、扩展赋值运算符。

算术运算符:+,-,*,/,%,++,--

赋值运算符:=

关系运算符:>,<,==,!=,>=,<=,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

posted @ 2021-10-03 21:05  隔岸稻花香  阅读(136)  评论(0编辑  收藏  举报