算术运算符
加减乘除都会自动转型,int型相除若除数为0会有零异常,若一个是浮点型则不会这样。
取余结果不一定是整数,其计算结果为第一个数除以第二个数得到一个整数,剩下的就是结果,取余和除法规则类似。
若取余操作有一个或两个为浮点型,则第二个参数可以为0或0.0,其结果为NaN。
赋值运算符
赋值运算符的左边只能是变量
位运算符
位运算符是对二进制码进行操作。
<<左移是向左移动,右边补零
>>右移,若原来为整数,则左边补零,若为负数,左边补1.
>>>无符号右移,不管正负,直接补零。
低于int型的,先转换为int再进行位运算。
若为int,a>>b,若b>32,则系统先拿b对32求余,再计算,若b为32,则不移动。
若为long,则是64.
位移运算符不会改变操作数本身,只是得到一个运算结果。
扩展的赋值运算符
如+=,这种运算符拥有更好的性能。
byte a=5;
a=a+5;//这条语句是错的,等同把int型赋值给byte
a+=5;//这条语句是对的,仍为byte
在java中,浮点型和整形是可以直接比较的
5是等于5.0的
逻辑运算符
&不短路与
|不短路或
三目运算符
A?B :C
若A为真,则B,否则C