概念:
理解二维数组,首先要先理解一维数组是什么。一维数组是个容器,存储相同数据类型的容器(这里不再做一位数组的具体介绍)。二维数组就是用来存储一维数组的数组,一维数组的存储数据类型是基本数据类型和引用数据类型,二维数组的存储数据类型是引用数据类型(一维数组是引用数据类型)。也就是:二维数组是存储一维数组的数组,二维数组里面的元素都是数组,二维数组来存储一维数组。
二维数组初始化:
//二维数组不是规则的矩阵 int [] intA[] ={{1,2},{2,3,4},{3,4,5,6}}; System.out.println(intA); //声明一一个二维数组,用于存储3个一维数组,每一个一维数据存多少个数组,不知道 ,null int [][]intB=new int[3][]; intB[0]=new int[3]; intB[1]=new int[]{1,2,3,4}; intB[2]=new int[2]; System.out.println(intB); //声明一个二维数组,同时创建出一维数组,每个一维数组的长度均相同 //存储三个一维数组,每个一维数组的长度为4 int []intC[]=new int[3][4]; System.out.println(intC);
二维数组的遍历:
//二维数组 int [] intA[] ={{1,2},{2,3,4},{3,4,5,6}}; //(1)普通for循环 for(int i=0;i<intA.length;i++){ //0,1,2 for(int j=0;j<intA[i].length;j++){ //每一个一维数组的长度 System.out.print(intA[i][j]+" "); } System.out.println(); } //(2)加强for循环 System.out.println(" ========================="); for(int[] arr:intA){ //int[]二维数组中元素的类型, arr迭代变量, intA二维组的名称 for(int i:arr){ //int,一维数组中元素的类型,i,迭代变量,arr,一维数组的名称 System.out.print(i+" "); } System.out.println(); } //(3)普通与加强for循环的混搭 System.out.println(" -------------------------"); for(int [] arr:intA){//加强for for(int i=0;i<arr.length;i++){ System.out.print(arr[i]+" "); } System.out.println(); } System.out.println(" --------------------------"); for(int i=0;i<intA.length;i++){ for(int j:intA[i]){//加强for System.out.print(j+" "); } System.out.println();