【发布时间】:2021-08-28 23:09:55
【问题描述】:
我是 Java 新手。
刚刚发现在表达式中,
y=x++,y 假定 x 的值,x 变为 +1。
如果我听起来很愚蠢,请原谅我,但根据order of precedence,赋值运算符在最后。所以不是 x++ 应该先发生,然后是赋值。提前致谢。
【问题讨论】:
-
我感觉你在 y = x++; 之间感到困惑。和 y = ++x;
-
是的,但
++和--有点特别,see here。这就是为什么我建议只使用++和--作为独立表达式。 -
关于优先级更正但Documentation: "... 后缀增量表达式的值是变量之前存储新值之前的值。,,, " (分配的值不是变量的值(这意味着更高的赋值优先级),而是后增量 表达式 的结果,根据定义,变量值 before 递增)
-
这与优先级无关。 postincrement/postdecrement 运算符在取值后更新操作数,仅此而已。