首页 > 编程笔记 > Java笔记 阅读:8

Java运算符优先级一览表(新手必看)

Java 语言中的表达式,是指使用运算符连接起来的符合 Java 运算规则的表达式,运算符的优先级决定了表达式中运算的先后顺序。

下表所示为 Java 语言中的运算符的优先级,建议大家收藏,方便后续在编写程序的过程中参考。

表:Java运算符优先级
优先级 描述 运算符
1 括号 ()
2 正负号 +、-
3 一元运算符 ++、--、!
4 乘除 *、/、%
5 加减 +、-
6 移位运算 >>、>>>、<<
7 比较大小 <、>、>=、<=
8 比较是否相等 = =、!=
9 按位与运算 &
10 按位异或运算 ^
11 按位或运算 |
12 逻辑与运算 &&
13 逻辑或运算 ||
14 三元运算符 ?:
15 赋值运算符 =

在 Java 语言中,运算符的优先级由高到低依次是:增量和减量运算符、算术运算符、比较运算符、逻辑运算符以及赋值运算符。

如果两个表达式具有相同的优先级,那么左边的表达式要比右边的表达式先被运算。

Java圆括号

使用圆括号能够更改运算的优先级,进而得到不同的运算结果。

例如,分别定义值为 2 和 3 的 int 型变量 a、b,表达式“a * b + 5”和“a * (b + 5)”的运算结果如下图所示。


图 1 使用圆括号更改运算的优先级

圆括号也常用于调整代码格式,以提高代码的可读性。例如下列表达式:
a = 7 >> 5 * 6 ^ 9 / 3 * 5 + 4;
上述表达式既复杂又难读,而且很容易估错计算结果,影响后续代码的执行。

为了提高上述表达式的可读性,可以把上述表达式用圆括号括起来,在不改变任何运算优先级的前提下,上述表达式可更改为如下表达式:
a = (7 >> (5 * 6)) ^ ((9 / 3 * 5) + 4);
总之在编写程序时,要尽量使用圆括号“( )”限定运算的优先级,以免产生错误的运算结果。

相关文章