数组的赋值机制

1. 基本数据类型赋值,这个值就是具体的数据,而且相互不影响。

int n1 = 2; int n2 = n1;

2. 数组在默认的情况下是引用传递,赋的值是地址。

示例:

int[] arr1 = {1,2,3};
int[] arr2 = arr1;

image

3. 数组拷贝

    /**
     * 数组拷贝
     */
    @Test
    public void ArrayCopy() {
        //将 int[] arr1 = {1, 2, 3}; 拷贝到 arr2 数组,
        //要求数据空间是独立的.
        int[] arr1 = {1, 2, 3};
		
        //创建一个新的数组 arr2,开辟新的数据空间
        int[] arr2 = new int[arr1.length];
		
        //遍历 arr1 ,把每个元素拷贝到 arr2 对应的元素位置
        for (int i = 0; i < arr1.length; i++) {
            arr2[i] = arr1[i];
        }
		
        //修改 arr2, 不会对 arr1 有影响.
        arr2[0] = 100;
		
        //输出 arr1
        System.out.println("====arr1 的元素====");
        for (int i = 0; i < arr1.length; i++) {
            System.out.println(arr1[i]);
        }
		
        System.out.println("====arr2 的元素====");
        for (int i = 0; i < arr2.length; i++) {
            System.out.println(arr2[i]);
        }
    }

输出:
image

posted @ 2022-03-28 20:04  ___sunsets  阅读(159)  评论(0)    收藏  举报