Java_二维数组
1 二维数组定义 2 class Array2Demo 3 { 4 public static void main(String[] args) 5 { 6 //int[] arr=new int[3]; 定义一维数组 7 //int[][] arr=new int[3][2]; 定义二维数组 ,里边有3个一维数组 8 //每一个一维数组中有2个int类型的元素 9 /* 10 11 int[] arr=new int[3]; 12 System.out.println(arr[0]);// 0 数组中的角标0的元素,int默认值是0 13 System.out.println(arr);//[@c17164 将arr对应的数组转成了字符串并打印。 14 //该字符串中包含的信息是:以@作为分隔符,左边是该实体的类型, [:代表数组 I:int 15 //右边是该实体的哈希值(是实体在内存中的存储位置) 16 */ 17 int[][] arr=new int[3][2]; 18 arr[0] = new int[2];// 19 System.out.println(arr);//[[I@1db9742 20 System.out.println(arr[0]);//[I@106d69c 21 System.out.println(arr[0][1]);//0 22 23 int[][] arr2 = new int[3][]; 24 System.out.println(arr2[0]);//null 25 26 27 int[] a=new int[3]; 28 int[][] b=new int [4][5]; 29 int[] c=a;//yes 30 //int[] c=b;//no 31 } 32 } 33 34 35 36 37 38 39 二维数组应用 40 class Array2Demo2 41 { 42 public static void main(String[] args) 43 { 44 /* 45 int[] arr=new int[3]; 46 int[] arr={3,5,1,6}; 47 48 49 int[][] arr={{4,1,5,9,2},{9,8},{7}}; 50 System.out.println(arr.length);//3 51 System.out.println(arr[0]);//5 52 53 */ 54 55 //示例:公司有三个员工甲 乙 丙 56 //甲:20 17 23 18 57 //乙:25 19 29 11 58 //丙:29 12 26 16 59 60 int[][] arr={{20,17,23,18},{25,19,29,11},{29,12,26,16}}; 61 62 //公司的总销售額,其实就是对这个二维数组求和。 63 64 int sum=0; 65 for (int x=0;x<arr.length ;x++ ) 66 { 67 for (int y=0;y<arr[x].length ;y++ ) 68 { 69 sum = sum + arr[x][y]; 70 } 71 } 72 73 System.out.println("sum="+sum); 74 } 75 } 76 //int[] x[],y; x:二维数组 y:一维 int[] x[],int[] y 77 /* 78 x=y; no 79 80 x[0]=y; yes 81 x[0]=y[0]; //no 82 83 x[0][0]=y[0];//yes 84 85 */
二维数组在内存中的体现