JAVA运算优先级
发布网友
发布时间:2022-04-23 06:11
我来回答
共4个回答
热心网友
时间:2023-10-18 13:35
先运算b+2=22,然后是a-=22,a=-12.最后是 a+=-12, a=-2.
运算符优先级表
优先级 运算符 结合性
1 () [] . 从左到右
2 ! +(正) -(负) ~ ++ -- 从右向左
3 * / % 从左向右
4 +(加) -(减) 从左向右
5 << >> >>> 从左向右
6 < <= > >= instanceof 从左向右
7 == != 从左向右
8 &(按位与) 从左向右
9 ^ 从左向右
10 | 从左向右
11 && 从左向右
12 || 从左向右
13 ?: 从右向左
14 = += -= *= /= %= &= |= ^= ~= <<= >>= >>>= 从右向左
热心网友
时间:2023-10-18 13:36
从右往左
先计算b+2 = 22;
然后计算a-=22 a=-12 ;
最后计算a+=-12;结果是a = 10+(-12)
最后结果a 为-2 b为20追问不是-12+ -12吗?
热心网友
时间:2023-10-18 13:36
从右边往左边啊
首先计算b+2
然后把a-(b+2)的值赋给a
再把a+(上一次的结果)的值赋值给a
热心网友
时间:2023-10-18 13:37
从右往左执行,等价于:a=a+(a-(b+2)) ;追问不是-12+(-12)吗?