java - 为什么 Java 中的后缀运算符从右到左求值?

标签 java operator-precedence

假设我们有以下 Java 代码片段:

int a = 3;
int b = a++;

a 的值首先分配给 b,然后递增。 b = 3a = 4。那么为什么后缀表达式是从右向左求值呢?从左到右计算不是更有意义吗?

最佳答案

后缀运算符不是从右到左计算的;它们的副作用发生在值确定之后(粗略地说 - JLS 指定顺序)。

关于java - 为什么 Java 中的后缀运算符从右到左求值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23345570/

相关文章:

c - 运算符结合性、优先级

c++ - 构造函数初始化列表中的执行顺序

java - Apache ActiveMQ 回退机制

java - TimerTask vs Thread.sleep vs Handler postDelayed - 每N毫秒调用一次函数最准确?

Java Swing : Approach for dynamically appending text in text area, 有滚动条更新

java - 跨应用程序可用的方法?

java - WGET 和 HttpClient 可以工作,但 Jsoup 在 java 中不起作用

java - 在 Java 中, boolean 值 "order of operations"是什么?

matlab - 这个 MATLAB 代码(涉及冒号运算符)是如何解析的?

javascript - 为什么 "and"在 "equal"之前评估