小编典典

Java i ++操作说明

java

在Test1中,i将其值增加1,然后返回旧值,并将其增量值保留在i变量中。但是在Test2中,i将其值增加1,然后返回其旧值,并且也发生了增加。他们是否为i的副本制作副本,而不是在i变量中未分配的增量。Test2中的操作步骤是什么?

测试1

int i = 0;
System.out.print(i++);
System.out.print(i);

输出01

测试2

int i = 0;
i = i++;
System.out.println(i);

输出0


阅读 300

收藏
2020-11-26

共1个答案

小编典典

该语句i = i++在Java中具有明确定义的行为。首先,将的值i压入堆栈。然后,变量i增加。最后,弹出堆栈顶部的值并将其分配给i。最终结果是什么也没发生-
智能优化器可以删除整个语句。

2020-11-26