二维数组

如果一维数组的各个元素仍然是一个数组,那么它就是一个二维数组。 二维数组常用于表示表,表中的信息以行和列的形式组织, 第一个下标代表元素所在的行,第二个下标代表所在的列。

二维数组的创建

先声明,再用 new 运算符进行内存分配

声明语法格式:

数组元素的类型 数组名字[][];
数组元素的类型[][] 数组名字;

分配内存语法:

数组名字 = new 数组类型[][]
a = new int[2][4];        // 直接给每一维分配内存空间
b = new int[2][];         //分别为每一维分配内存,这种方式列可省,行不可省
a[0] = new int[2];
a[1] = new int[3];

声明的同时为数组分配内存

数组元素的类型 数组名字[][] = new 数组元素的类型[][]

二维数组的初始化

二维数组的初始化与一位数组初始化类似,同样使用大括号完成。

语法格式:

  • type:数组数据类型;
  • arrayname:数组名称,一个合法的标识符;
  • value:数组中各元素的值。

使用二维数组

使用二维数组常见的就是遍历数组,介绍两种遍历数组的方法。

先来学习一下各种表示方法:

表示二维数组的行数: 二维数组名.length
表示一行:      二维数组名[行下标]  (行下标的范围:[0,二维数组总行数 - 1])
表示每一行的列数:     二维数组名[行下标].length
表示具体的一个数据: 二维数组名[行下标][列下标]  (列下标的范围:[0,该行总列数 - 1])

1、使用 for 循环遍历

2、使用 foreach 循环遍历

int array[][] = new int[3][4];               //创建一个3行4列的数组,并且里面值都为默认值
// 使用 for 循环
for(int i=0;i<array.length;i++) {             // 第一个循环,循环每一行
    for (int j=0;j<array[i].length;j++) {     //第二个循环,循环每行的每一列
       System.out.print(array[i][j]);
    }
    System.out.println();
}
// 使用 foreach
for(int a[]: array) {                          // 第一个循环,第一个参数代表循环中的类型,即数组,第二个参数为循环对象
    for(int j: a) {                           // 循环上一个循环中的第一个参数中的每一个即可
       System.out.print(j);
    }
    System.out.println();
}