Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
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);_Java_Postfix Mta_Prefix - Fatal编程技术网

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);

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);,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

结果是:

----------测试3----------

a的值是3

a2的值是2

a2的值是2


我不明白为什么第二次输出后,
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;