当多个运算符出现在一个表达式中,谁先谁后呢?这就涉及到运算符的优先级别的问题。在一个多运算符的表达式中,运算符优先级不同会导致最后得出的结果差别甚大,例如,(1+3)+(3+2)*2,这个表达式如果按加号最优先计算,答案就是 18,如果按照乘号最优先,答案则是 14。下面将详细介绍在 Java 程序设计中,各个运算符的优先级别,如表 3-1 所示。
运算符 | 优先级 |
---|---|
括号 | 1 |
++,-- | 2 |
~,! | 3 |
*,/,% | 4 |
+,- | 5 |
>>,<<,>>> | 6 |
>,<,>=,<= | 7 |
==!,!= | 8 |
& | 9 |
^ | 10 |
| | 11 |
&& | 12 |
|| | 13 |
?: | 14 |