-
public class Array {
-
public static void main(String[] args){
-
int[] a1 = {1,2,3,4};
-
int[] a2;
-
a2=a1;
-
for (int i =0;i<a1.length;i++){
-
a2[i]++;
-
System.out.print("a1["+i+"]="+a1[i]+" ");
-
System.out.println("a2["+i+"]="+a2[i]);
-
}
-
}
-
-
}
输出:
-
a1[0]=2 a2[0]=2
-
a1[1]=3 a2[1]=3
-
a1[2]=4 a2[2]=4
-
a1[3]=5 a2[3]=5
为什么a1的每个元素值也会++,原来通过数字a1给数组a2赋值,实际上只是将数组a1的内存地址赋予给数组a2
从而数组a1和数组a2在内存中指向同一个地址。因此,改变了数组a2的值也就相当于改变了数组a1的值。
阅读(356) | 评论(0) | 转发(0) |