Java 前后固定增量 a=1; int a2=a++; System.out.println(“------测试3------”); System.out.println(“a的值为”+a); System.out.println(“a2的值为”+a2); System.out.println(“a2的值为”+a2);
结果是: ----------测试3---------- a的值是3 a2的值是2 a2的值是2Java 前后固定增量 a=1; int a2=a++; System.out.println(“------测试3------”); System.out.println(“a的值为”+a); System.out.println(“a2的值为”+a2); System.out.println(“a2的值为”+a2);,java,postfix-mta,prefix,Java,Postfix Mta,Prefix,结果是: ----------测试3---------- a的值是3 a2的值是2 a2的值是2 我不明白为什么第二次输出后,a2的值没有增加。甚至a也使用后缀增量增加,并分配给a2。请给我解释一下。前缀和后缀增量只在您执行的语句中起作用。尝试在print语句中添加前缀和后缀增量。这就是post increment操作符的工作原理 做 等于做 int a2 = a; a = a + 1; 因此,您的代码将生成以下输出: ----------Test 3 ---------- The value
我不明白为什么第二次输出后,
a2
的值没有增加。甚至a
也使用后缀增量增加,并分配给a2
。请给我解释一下。前缀和后缀增量只在您执行的语句中起作用。尝试在print语句中添加前缀和后缀增量。这就是post increment操作符的工作原理
做
等于做
int a2 = a;
a = a + 1;
因此,您的代码将生成以下输出:
----------Test 3 ----------
The value of a is 2
The value of a2 is 1
The value of a2 is 1
我不明白为什么a2的值在
第二个输出(即使是a)使用后缀增量增加并分配
到a2
让我们一步一步来:
a = 1
将变量a
设置为1;现在:
int a2 = a++;
将相当于:
int a2 = a;
a++;
首先赋值,然后递增,因此输出:
The value of a is 2
The value of a2 is 1
The value of a2 is 1
以及名称postfix increment
对于要使用++a
的行为,即:
int a = 1;
int a2 = ++a;
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);
输出:
The value of a is 2
The value of a2 is 2
The value of a2 is 2
在这种情况下:
inta2=++a代码>相当于:
a++;
int a2 = a;
a++;
int a2 = a;