-
运算符分为算数运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三元运算符
-
算数运算符(+,-,*,/,%)用于变量与变量、变量与常量
-
递增(++),递减(–)中,a++为先得到a的值并保存,再进行递增运算;++a为先进行递增运算,再得到a的值并保存
-
赋值运算符(=),把右边的值赋给左边
+=,-=,*=,/=,%=是把左边与右边做加法(减乘除模),并赋值给左边,如a+=a即为a=a+1
short s=1; s=s+1错误,数据类型不对,第二句应用s+=1 -
关系运算符(==,!=,>,<,<=,>=)操作结果均为boolean类型
-
逻辑运算符&与,有false则false
|或,有true则true
^异或,相同为false,不同为true
!非,非false则true,非true则false
&&短路与,左边为false时右边不执行,结果和&一样
||短路或,左边为true时右边不执行,结果和|一样 -
位运算符(32位二进制)&按位与,有0则0其他为1
|按位或,有1则1其他为0
^按位异或,相同则0不同则1(一个数字在异或同一个数字两遍后会得到原来的数字)
<<按位左移,左移右边补齐0,最高位不变(2<<2为2转换为二进制后左移两位)
>>按位右移,右移左边补齐0,最高位不变
>>>无符号右移(没有无符号左移!!) -
实现两个整数的变量交换,不借助第三方变量临时变量:
利用异或!
int x=1; int y=2;
x=x^y; y=x^y; x=x^y; -
三元运算符
(关系表达式)?表达式1:表达式2;
如获取两个数中的大值为 x>y?x:y; -
比较三个数中最大值
(法一) int max=x>y?x:y; max=z>max?z:max;
(法二)x>y? (x>z?x:z): (y>z?y:z)
java语法3.0
最新推荐文章于 2023-05-31 13:25:57 发布