java 和算术运算符和增量

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

这是简单的操作之一,我不明白为什么,我只是保存它,但这让我很困扰,所以我想了解为什么?

 int a = 2;
  int b = 4;
  int c = 10;
  a = b++;
            System.out.println(a);
         a = ++b;   
            System.out.println(a);
    

这个过程++我不明白它是如何工作的。在这种情况下,输出是 4 和 6

但是我只加了1,结果又加了2

一开始,她只取值4,没有添加任何东西,然后在第二个输出中,她添加了2

如果将代码放在第六行 a = ++c,则输出将为 c 加 1,而不是 2。

所以请帮助理解。

另一方面,由于 = 是一个赋值,我想结果将保留最后一个数字,现在如果我修改代码如下:

  int a = 2;
  int b = 4;
  int c = 10;
  a = b++;
            System.out.println(a);
         a = ++c;   
            System.out.println(a);
    a = ++b;
        System.out.println(a);

这里的输出将是

4

11

6

我也没想到会这样,因为最后的输出应该是 5,而不是 6

所以我需要一些帮助,以便我能够理解而不仅仅是记住

java increment operator-keyword
2个回答
0
投票

预增量:

a = ++b
相当于
b = b + 1; a = b;

后增量:

a = b++
相当于
a = b; b = b + 1;


0
投票

要记住的规则是:始终从左到右进行处理。

a = b++; // First assign b to a, then increment b. // Here a=4, b=5 a = ++b; // First increment b, then assing the incremented value to a. // Here a=6, b=6
    
© www.soinside.com 2019 - 2024. All rights reserved.