为什么i += ++我在java中产生1个? 我正在学习爪哇。我面临以下表达的问题: int i = 0; i += ++ i; system.out.println(i); 它说输出为1。 如果我们这样重写: i = i +++ i; 当增量时

问题描述 投票:0回答:1

i = i + ++i;

当增量发生时,它会改变地址中的值吗?如果,那么我 +++我应该是2。并且它也以脱弗语言为单位。 🤔
也是这样:

i = i + ++i + i;

	

LETS逐步调试:

java variable-assignment increment compound-assignment
1个回答
0
投票
int i = 0;

→i初始化为0。因此我包含值0

  1. ++i
    →提前的发生前,所以现在我变成了1.

  2. i + ++i
    →替换值:

  3. i is 0
    (提前之前的原始值)。

  4. ++i makes i = 1

    ,所以现在++我返回1.

  5. i + ++i = 0 + 1 = 1.

    
    

  6. i = 1 (final value).

    
    

  7. System.out.println(i); prints 1.

    
    

  8. 您下一个问题会更改内存地址吗?
  9. no,在java中,int是一种原始类型,这意味着它直接存储在内存中,而不是作为参考。 i的值在同一内存位置更新。当您编写++ i时,它会修改到位的值。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.