java - 当赋值运算符的优先级最低时,y=x++ 和 y=x-- 有何不同?

标签 java operator-precedence

我是 Java 新手。 刚发现在表达中, y=x++,y取x的值,x变为+1。 如果我听起来很愚蠢,请原谅我,但根据 order of precedence ,赋值运算符在最后。所以 x++ 不应该首先发生然后是分配。提前致谢。

最佳答案

Q: So isn't x++ supposed to happen first followed by the assignment.

答:是的。这就是发生的事情。语句 y = x++; 等效于以下内容:

temp = x;      // | This is 'x++'
x = x + 1;     // | (note that 'temp' contains the value of 'x++')

y = temp;      // This is the assignment.

但是如您所见,操作顺序(++=)不会影响操作的实际作用。

因此……

Q: How are y=x++ and y=x-- different when the assignment operators has the least priority?

答:他们不是。

关于java - 当赋值运算符的优先级最低时,y=x++ 和 y=x-- 有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67946625/

相关文章:

java - 如何将图像放在编辑文本中?

java - 从 fragment 导航到另一个 fragment 时隐藏键盘

java - 如何查找系统是否已连接网络摄像头

c - 为什么这些构造使用增量前和增量后未定义的行为?

javascript - 确保 Javascript 脚本首先运行?

c++ - 是否保证不会对 if 语句进行不必要的评估?

java - 根据 2 个属性对 ArrayList 进行排序

java - 为什么我不能在 jsp 中使用 core taglib?

java - 在 Java 中,为什么括号中的赋值不会在表达式的其余部分被求值之前发生?

c - 操作数的评估顺序