a = 1;
int a2 = a++;
System.out.println("----------Test 3 ----------");
System.out.println("The value of a is " + a);
System.out.println("The value of a2 is " + a2);
System.out.println("The value of a2 is " + a2);
结果是:
- --------测试三----------
a的值为3
a2的值为2
a2的值为2
我不明白为什么a2
的值在第二次输出后没有增加,甚至a
也是用后缀增量增加的,并赋给a2
,你给我解释一下。
3条答案
按热度按时间jhiyze9q1#
我不明白为什么在第二次输出后a2的值没有增加,即使a使用后缀增量增加并赋给a2。
让我们一步一步来:
将变量
a
设置为1;现在:将等同于:
首先赋值,然后才递增,因此输出:
以及名称post固定增量。
对于您想要的行为,请改用
++a
,即:输出:
在这种情况下:
int a2 = ++a;
等效于:zzwlnbp82#
前缀和后缀增量仅在您正在执行的语句中起作用。请尝试在print语句中添加前缀和后缀增量。
gj3fmq9x3#
这就是后增量运算符的设计工作原理...
做
就相当于
因此您的代码将生成以下输出: