当赋值运算符的优先级最低时,y=x++和y=x–有何不同?
我是 Java 新手。刚刚发现在表达式中,
y=x++, y 假设 x 的值,x 变为 +1。如果我听起来很愚蠢,请原谅我,但根据优先级的顺序,赋值运算符在最后。所以 x++ 不应该先发生,然后是赋值。提前致谢。
回答
问:所以不
x++应该先发生,然后是分配。
答:是的。这就是发生的事情。该语句y = x++;等效于以下内容:
temp = x; // | This is 'x++'
x = x + 1; // | (note that 'temp' contains the value of 'x++')
y = temp; // This is the assignment.
但是如您所见,操作(++和=)的顺序不会影响操作实际执行的操作。
因此...
问:如何
y=x++和y=x--何时赋值运算符有最低优先级有什么不同?
答:他们不是。