您能解释一下为什么以下代码不会增加特定位置上的数组提取所产生的元素。
public class ArrayTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
int i =1;
int x = getArray()[i]++;
System.out.println(x); // it should not be 10 displayed, instead of 9 as it is?
}
public static int[] getArray (){
return new int [] {1,9,8,};
}
}
在增加后显示局部变量i的值时,它不应该增加到10?
我理解post和pre增量是如何工作的。您发布增量值,下次调用它时会更新该值。此外,如果你预先增加一个值,则增加值,并在现场更新新值。但是在我的情况下,在下一次调用时,值不会更新,因为它应该是后增量。
我遗失了一些东西,从阵列返回它会有什么不同吗?
此致
答案 0 :(得分:0)
如果您更改了行
int x = getArray()[i]++;
到
int x = ++getArray()[i];
你会知道这些差异。 (后增量和预增量运算符)