i = i + ++i;
当增量发生时,它会改变地址中的值吗?如果,那么我 +++我应该是2。并且它也以脱弗语言为单位。 🤔 也是这样:
i = i + ++i + i;
LETS逐步调试:
int i = 0;
→i初始化为0。因此我包含值0
++i
→提前的发生前,所以现在我变成了1.
i + ++i
→替换值:
i is 0
(提前之前的原始值)。
++i makes i = 1
,所以现在++我返回1.
i + ++i = 0 + 1 = 1.
i = 1 (final value).
System.out.println(i); prints 1.
no,在java中,int是一种原始类型,这意味着它直接存储在内存中,而不是作为参考。 i的值在同一内存位置更新。当您编写++ i时,它会修改到位的值。