public class 数组 {
public static void main(String [] args){
int len = 10;
// 元素个数为10的int类型数组
int [] arr1 = new int[10];
int [] arr2 = new int[len];
arr1[0] = 10;
arr2[0] = 10;
arr1 = arr2;
arr2[0] = 20;
// 结果都是20
System.out.println("arr1[0]: "+ arr1[0]);
System.out.println("arr2[0]: "+ arr2[0]);
/*
内存分为:栈区 堆区
array数组名arr1是一个【引用】数据类型,里面放的是地址,其空间是放到栈区的
通过new申请出来的数组空间是放到堆区的,空间是连续的。
因为arr1,arr2里面存的是地址,所以arr1 = arr2,说明是arr2地址赋给arr1了
如果是 arr1[0] = arr2[0]的话,这样的话得出的结果是 10 20
*/
}
}
网友评论