在java 8中的优先运算符之后,很明显,后缀运算符(expr++ expr-)比一元运算符(++expr --expr)具有更高的优先级。但是,在执行此代码时:
X= 3;y= ++x - x++;
Y的值是0
但对我来说,在上表之后,结果应该是y=(5-3),因为应该首先评估x++。
有人能解释为什么这是y=0而不是y= 2吗?
发布于 2021-08-30 14:30:23
何时在表达式中的同一行上使用运算符优先级?或者为什么会有操作符优先顺序,以及何时使用?
运算符优先决定几个运算符中哪个与操作数相关联。在表达式++x - x++中,有两个优先位置:
++x - … -两个运算符++和(二进制) -可以在x上使用;++具有优先级,因此这等同于(++x) - …,而不是++(x - …)。… - x++ -两个操作符(二进制) -和++可以在x上使用;++具有优先级,因此这等同于… - (x++),而不是(… - x)++。https://stackoverflow.com/questions/68926802
复制相似问题