数组赋值机制与数组拷贝

数组赋值机制与数组拷贝

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

    int n1 = 2;int n2 = n1;

  2. 数组在默认情况下是引用传递,赋的值是地址。 看一个案例,并分析数组赋值的内存图(重点)。 //代码 ArrayAssign.java

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

    int[] arr2 = arr1;

值传递 与 引用传递 区别

int n1 = 10;
int n2 = n1;
​
n2 = 80;
int[] arr1 = {1,2,3};
int[] arr2 = array;
arr2[0] = 10

  • 值传递(数据类型):将n1的值拷贝给n2(n2生成新空间),n2重新赋值80,n1不会受到影响,这就是值传递/值拷贝;

  • 引用传递(引用类型):把arr1的地址拷贝给arr2,而不是重新创造一个空间,arr2进行改变时,arr1也会改变,这就是地址拷贝/地址拷贝。

数组的拷贝

int arrayCopy1[] = {10,50,60,70,80,90};
int arrayCopy2[] = new int[arrayCopy1.length];
for(int i = 0;i < arrayCopy1.length;i++){
    arrayCopy2[i] = arrayCopy1[i];
}

数组的拷贝,首先要创建一个新的空间,然后使用for循环进行逐个拷贝,且arrayCopy1不影响arrayCop2的使用.

上一篇:Day 07 面向对象


下一篇:C# 交换两个变量值