【发布时间】:2016-05-22 15:41:15
【问题描述】:
我在研究 Java 前缀运算符时遇到了这种行为
i = +--j //does not give an error
i = -++j //does not give an error
i = ---j //gives an error
i = +++j //gives an error
为什么会这样?
【问题讨论】:
-
- --j和+ ++j是做什么的? (注意空格的位置。) -
@ErickG.Hagstrom
-(--j)会递减 j 然后取该值的负数。+(++j)与使用多余的加号递增相同。另外,我现在正在考虑将i = (i += (-++i)) == i ? -(++i): +(--i);之类的东西放在代码中的某个地方来惹人生气。
标签: java syntax-error unary-operator prefix-operator