运算符优先级
优先级 |
运算符 | 运算 | 结合关系 | 举例 |
---|---|---|---|---|
1 | + | 单目取正 | 自右向左 | a*+b |
1 | - | 单目取负 | 自右向左 | a*-b |
2 | * | 乘法 | 自左向右 | a*b |
2 | / | 除法 | 自左向右 | a/b |
2 | % | 取余 | 自左向右 | a%b |
3 | + | 加法 | 自左向右 | a+b |
3 | - | 加法 | 自左向右 | a-b |
3 | + | 字符串连接 | 自左向右 | “hello”+”bye” |
4 | = | 赋值 | 自右向左 | a=b |
单目运算符
只有一个算子的运算符:+、-
int a =10;
int b =-20;
System.out.println(a*-b);(注:-,就是单目运算符,其运算级是最高的,在这里,-b先算,再和a相乘。)
结合关系
一般自左向右
单目+-和赋值自右向左
result=a=b=3+c;
(注:即先做3+c,将其值赋给b,再将b的值赋给 a,最后将a的值赋给result)
result=2;
result=(result=result2)6*(result=+result