算数运算符
+ | - | * |
/ | int/int=int | float(int)/int(float)=float(可以/0.0) |
% | floa/0=NaN | |
++自加,单目 | ++a:先加1,再运算 | |
a++:先运算,再加1 | ||
–自减,单目 |
复杂运算
java.long.Math
Math.pow(a,5) a^5
Math.sqrt(a) a开方
Math.sin
位运算符
& | 与 | 同时为1,返回1 |
| | 或 | 一位为1,返回1 |
~ | 非 | 单目,按位取反 |
^ | 异或 | 相同返0,不同返1 |
<< | 左移 | * 2n ,0填充 |
>> | 右移 | / 2n ,符号位填充 |
>>> | 无符号右移 | / 2n ,0填充 |
int:a>>33=a>>1
long:a>>65=a>>1
比较运算符
>,>=,<,<=,==,!=
整值,值相等→ture
97==‘a’5.0=5
- 引用,指向同一个对象→ture
Type a=new Type(); a==b×
Type b=new Type(); a==c√
Type c=a; 逻辑运算符
&& 与 & 不短路与 || 或 | 不短路或 ! 非 ^ 异或 三目运算符
a>b?ture:false
赋值运算符:=
扩展运算符
+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=,>>>=
优先级
分隔符 单目运算符 ++,–,~,! 强制类型转换 (type) * / % + - <<,>>,>>> <,<=,>,>=,instanceof ==,!= & ^ | && || 三目 ?: 赋值 =,+=,-=,*=