一尘不染

Java-“ x = x ++”之后的x是什么?

java

执行此操作后(幕后)会发生什么?

int x = 7;
x = x++;

也就是说,当变量在一个语句中后增加并分配给它自己时?我编译并执行了这个。即使整个陈述之后x仍然是7 。在我的书中,它说是递增的!x


阅读 692

收藏
2020-02-25

共2个答案

一尘不染

x确实增加了。但是,你正在将x back 的旧值分配给它自己。

x = x++;

1.x++递增x并返回其旧值。
2. x =将旧值分配回自己。

因此,最后x将其分配回其初始值。

2020-02-25
一尘不染

x = x++;

相当于

int tmp = x;
x++;
x = tmp;
2020-02-25