【发布时间】:2014-02-11 04:44:12
【问题描述】:
我真的不明白数组中的赋值是如何工作的。我正在浏览这段代码(一种用于反转数组值的方法):
public static int[] reverseArray2(int[] array)
{
int i = 0, j = array.length - 1;
for (i = 0; i < array.length / 2; i++, j--)
{
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
return array;
}
为什么在这种情况下数组现在正确交换了? (比如说一个由元素 {1,2,3,4,5} 组成的数组,我们想要交换它)。 array[i] = array[j] 行以何种方式帮助实现这一目标?而且,我怎么知道分配给数组的值是什么? (或者,它们以何种方式被覆盖)。我尝试使用另一种方法,但我得到了 {5,4,3,4,5} 作为输出。
【问题讨论】:
-
请发给你其他方法。在
reverseArray2()中,您将第一个与最后一个交换,第二个与最后一个交换,依此类推。