在Test1中,i将其值递增1并返回旧值并将其增量值保存在i变量中.但是在Test2中,我将其值增加1并返回其旧值,并且还会发生增量.他们是否为i中的变量分配了i的副本.Test2中的操作步骤是什么.
测试1
int i = 0;
System.out.print(i++);
System.out.print(i);
Run Code Online (Sandbox Code Playgroud)
输出01
TEST2
int i = 0;
i = i++;
System.out.println(i);
Run Code Online (Sandbox Code Playgroud)
输出0
Ern*_*ill 15
该语句i = i++在Java中具有明确定义的行为.首先,将值i推到堆栈上.然后,变量i递增.最后,弹出堆栈顶部的值并将其分配i.最终结果是没有任何反应 - 智能优化器可以删除整个语句.
| 归档时间: |
|
| 查看次数: |
26281 次 |
| 最近记录: |