《java入门第一季》之二维数组
/* 格式2: 数据类型[][] 数组名 = new 数据类型[m][]; m:表示这个二维数组有多少个一维数组。 列数没有给出,可以动态的给。这一次是一个变化的列数。 */ class Array2Demo2 { public static void main(String[] args) { //定义数组 int[][] arr = new int[3][]; System.out.println(arr); //[[I@175078b //没有指定数组的二维位置是什么,此时没有地址 System.out.println(arr[0]); //null System.out.println(arr[1]); //null System.out.println(arr[2]); //null //动态的为每一个一维数组分配空间,此时就有了地址 arr[0] = new int[2];//第一个一维数组两个元素 arr[1] = new int[3];//第二个一维数组三个元素 arr[2] = new int[1];//第三个一维数组1个元素 System.out.println(arr[0]); //[I@42552c System.out.println(arr[1]); //[I@e5bbd6 System.out.println(arr[2]); //[I@8ee016 System.out.println(arr[0][0]); //0 System.out.println(arr[0][1]); //0 //ArrayIndexOutOfBoundsException //System.out.println(arr[0][2]); //异常错误(异常后面讲),第一个一位数组总共只有2个元素。arr[0][0],arr[0][1] arr[1][0] = 100;//赋值 arr[1][2] = 200; System.out.println(arr[1][0]); //100 System.out.println(arr[1][2]); //200 } }
图片理解如下:
/* 格式3: 基本格式: 数据类型[][] 数组名 = new 数据类型[][]{{元素1,元素2...},{元素1,元素2...},{元素1,元素2...}}; 简化版格式: 数据类型[][] 数组名 = {{元素1,元素2...},{元素1,元素2...},{元素1,元素2...}}; 举例: int[][] arr = {{1,2,3},{4,5,6},{7,8,9}}; int[][] arr = {{1,2,3},{4,5},{6}}; */ class Array2Demo3 { public static void main(String[] args) { //定义数组 int[][] arr = {{1,2,3},{4,5},{6}}; System.out.println(arr); System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]); System.out.println(arr[0][0]); //1 System.out.println(arr[1][0]); //4 System.out.println(arr[2][0]); //6 System.out.println(arr[0][1]); //2 System.out.println(arr[1][1]); //5 //越界 //System.out.println(arr[2][1]); //错误 } }
图片理解如下: