解决方案 »

  1.   

    对于数组类型,如果是基本类型的数组,则数组中存的是值,如果是对象类型,则存的是句柄。
    二维数组就是数组的数组,数组当然是对象类型,所以第一维存的是句柄。
    你这里第二维数组的类型是int,是基本类型,所以存的是值。
    当你理解了这些,你的这些问题就不难理解了。
      

  2.   

    public static void main(String[] args) {
    int arr1[][]=new int[3][];
    int arr2[][]=new int[3][3];
    arr1[0]=new int[]{1,2,3};
    arr1[1]=new int[]{4,5,6};
    arr1[2]=new int[]{7,8,9};
    System.arraycopy(arr1, 0, arr2, 0, 3); for(int i=0;i<arr2.length;i++)
    {
    for(int j=0;j<arr2[i].length;j++)
    {
    System.out.print(arr2[i][j]+"  ");
    }
    System.out.println();
    }
    }}
      

  3.   

    int arr1[][]=new int[3][];
    二维数组只需要对第一维定义长度就行了。
    arr1【】【】如何先修改在copy,当然会变化,
    如果先copy,在修改arr1【】【】,会有什么用了?