Java值加变量++ [英] Java value plus variable++
问题描述
考虑以下代码
int val1 = 3;
val1++;
int val2 = val1++;
System.out.println(val1);
System.out.println(val2);
Val1值= 5;
Val2值= 4;
为什么Val1的值为5?
据我所知,它应该是4,因为:在行1上的
赋值为3,在行2上通过val1 ++添加,这导致val1为4。
As I understand it it should be 4, because: at line1 it is assigned value of 3, on line2 1 gets added by way of val1++ which result in val1 being 4.
Val2是val1的值,因此4加1是5
Val2 is the value of val1 thus 4, plus 1 which is 5
编译器给出val1 a值为5,val2值为4,这里我不理解或缺少什么?
HOwever the compiler gives val1 a value of 5 and val2 a value of 4, what am I not understanding or missing here?
我意识到val1 ++第二次被使用但它被分配给val2,并且不应该影响val1s值,或者我错了?
I realize val1++ is used a second time but it is assigned to val2, and should not effect val1s value, or am I wrong?
推荐答案
a ++
被称为后缀。
将 1
添加到 a
,返回旧值。
add 1
to a
, returns the old value.
++ a
称为前缀。
将 1
添加到 a
,返回新值。
add 1
to a
, returns the new value.
所以 int val2 = val1 ++;
将返回旧值(4)
并仍然将 1添加到val1
这篇关于Java值加变量++的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!