在对一些比较复杂的表达式进行运算时,要明确表达式中所有运算符参与运算的先后顺序(其优先级)。
优先级 | 运算符 |
---|---|
1 | . [ ] ( ) |
2 | ++ -- ~ ! (数据类型) |
3 | * / % |
4 | + - |
5 | << >> >>> |
6 | < ><= >= |
7 | == != |
8 | & |
9 | ^ |
10 | | |
11 | && |
12 | || |
13 | ?: |
14 | = *= /= %= += -= <<= >>= >>>= &= ^= |= |
数字越小优先级越高。例:
int a=2;
int b=a+3*a; //“*”的优先级高于运算符“+”,因此先运算 *
System.out.println(b);
#运行结果为8
Tips:没必要特意去记,编写程序时,尽量用“( )”实现需要的运算顺序,方便且避免歧义。例:
int a=2;
int b=(a+3)*a;
System.out.println(b);
#运算结果为10