天天看點

Java之數組指派機制

1) 基本資料類型指派,這個值就是具體的資料,而且互相不影響。

int n1 = 2; int n2 = n1;           

2) 數組在預設情況下是引用傳遞,賦的值是位址。

  • 看一個案例,并分析數組指派的記憶體圖(重點, 難點. )。

ArrayAssign.java

int[] arr1 = {1,2,3};
int[] arr2 = arr1;           
//基本資料類型指派, 指派方式為值拷貝
    //n2的變化,不會影響到n1的值
    int n1 = 10;
    int n2 = n1;
    
    n2 = 80;
    System.out.println("n1=" + n1);//10
    System.out.println("n2=" + n2);//80
    
    //數組在預設情況下是引用傳遞,賦的值是位址,指派方式為引用指派
    //是一個位址 , arr2變化會影響到 arr1
    int[] arr1 = {1, 2, 3};
    int[] arr2 = arr1;//把 arr1賦給 arr2
    arr2[0] = 10;
    
    //看看arr1的值
    System.out.println("====arr1的元素====");
    for(int i = 0; i < arr1.length; i++) {
        System.out.println(arr1[i]);//10, 2, 3
    }
    
    System.out.println("====arr2的元素====");
    for(int i = 0; i < arr2.length; i++) {
        System.out.println(arr2[i]);//10, 2, 3
    }           
Java之數組指派機制
Java之數組指派機制