这是简单的操作之一,我不明白为什么,我只是保存它,但这让我很困扰,所以我想了解为什么?
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
所以我需要一些帮助,以便我能够理解而不仅仅是记住
预增量:
a = ++b
相当于b = b + 1; a = b;
后增量:
a = b++
相当于a = b; b = b + 1;
要记住的规则是:始终从左到右进行处理。
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