题目
int i = 1;
i = i++;
System.out.println("i= " + i);
i = 1;
i = i+++++i;
System.out.println("i= " + i);
i = 1;
i = i+++++i+++i;
System.out.println("i= " + i);
运算符优先级表
|
优先级
|
运算符
|
结合性
|
|
1
|
() [] .
|
从左到右
|
|
2
|
! +(正) -(负) ~ ++ --
|
从右向左
|
|
3
|
* / %
|
从左向右
|
|
4
|
+(加) -(减)
|
从左向右
|
|
5
|
<< >> >>>
|
从左向右
|
|
6
|
< <= > >= instanceof
|
从左向右
|
|
7
|
== !=
|
从左向右
|
|
8
|
&(按位与)
|
从左向右
|
|
9
|
^
|
从左向右
|
|
10
|
|
|
从左向右
|
|
11
|
&&
|
从左向右
|
|
12
|
||
|
从左向右
|
|
13
|
?:
|
从右向左
|
|
14
|
= += -= *= /= %= &= |= ^= ~= <<= >>= >>>=
|
从右向左
|
结果
i= 1
i= 4
i= 8
本文详细解析了Java中运算符的优先级规则,并通过实例展示了如何利用这些规则进行复杂的表达式求值。文章涵盖了一级至第十四级运算符的优先级,以及如何正确理解并应用它们来简化代码逻辑。
1879

被折叠的 条评论
为什么被折叠?



