-5
x = 2; 
y = x++; 
System.out.println(y)

如果 x 之后增加,y 会打印出 2 还是会打印出 3,为什么?如果这是前缀,它会只打印出 3 吗?

4

3 回答 3

2

它将打印 2 并且它发生的原因是

y=x++;

第1步:

assign x value to y

第2步:(增加x值)

x= x+1;

这就是它发生的原因。

于 2012-11-20T03:48:20.543 回答
1

它首先将值分配给y& 然后x增加1.
这是一个post increment
这首先将值赋给 & 的左侧变量,=然后将右侧变量x增加 1。
这里y=2,但是x=3

于 2012-11-20T03:44:53.777 回答
1

由于加号位于变量之后,因此称为后增量。如果在变量之前,它将被称为预增量。使用预增量 y 将被分配 x+1。与后增量一样,y 将被分配 x,然后 x 将增加 1,之后为 3,但 y 将为 2。

x = 2; y = x++;

y 为 2,x 为 3。

x = 2; y = ++x;

x,y 都是 3。

于 2012-11-20T03:52:25.557 回答