JAVA语言 运算符优先级
优先级 运算符 结合性
1 () [] . 从左到右
2 ! +(正) -(负) ~ ++ -- 从右向左
3 * / % 从左向右
4 +(加) -(减) 从左向右
5 << >> >>> 从左向右
6 < <= > >= instanceof 从左向右
7 == != 左向右
8 &(按位与) 从左向右
9 ^ 从左向右
10 | 从左向右
11 && 从左向右
12 || 从左向右
13 ?: 从右向左
14 = += -= *= /= %= &= |= ^= ~= <<= >>= >>>= 从右向左 - a=2;a+=a-=++a*a-- // 在此例中
复制代码优先级最高的为 :++,和 --,
第二为*
第三为 += -=
首先,a++ 等于3,a--由于 是后自减a--,所以,a的值要等*运算完后 才自减。
这时表达式 -=符号右边的值为9,同时 a的值自减1后为2.
第三步,执行a+= 运算,此时 -=左边值为4,右边值为9.
最后结果为-5
关于三观的问题,主要考察一个人的 价值观,这个没有标准答案,不必纠结
|