二维数组
二维数组在编程中应用广泛,二维数组常 用来表示表,表中的信息以行和列的形式组织,第一个下标代表元素所在的行,第二个下标代表元素所在的列。表这种结构在编程中是必不可少的数据结构。
在java中,二维数组被看成是数组的数组,即二维数组为一个特殊的一维数组,其每个元素又是一个一维数组,在Java中不直接支持二维数组,但允许定义数组元素也是一维数组的一维数组,以达到同样的效果。
声明二维数组
示例:float body[][]; Char array[][];
创建二维数组
int[][] array = {{1,2,3},{4,5,6}};
数组相当于一个2行3列的矩阵,当需要取多维中的值时,可以使用下标来表示,语法:array[i-1][j-1]
i是数组的行数,j是数组的列数。例如取第3行第2列的值应使用array[2][1]来表示。因为数组下标起始值为0,所以行、下标需要减1,一般的一个含有m行、n列的数组称为m行n列数组。
在使用二维数组对象时,注意length代表长度,数组名后直接加上length(如array.length),表示的是数组有几行,指定索引后加上length(如array[0].length),指的是该行拥有多少个元素,也就是列数。
初始化二维数组
二维数组的初始化和一维数组的初始化一样,格式如下:
array = new int[]…[]{第一个元素的值,第二个元素的值,第三个元素的值,…};
或用于对象数组的语法:
array = new int[]…[]{new构造方法(参数列),new构造方法(参数列),…};
以上两种方法若配合定义数组变量的语法使用,都可以省略“{}”前面的“new类型[]…[]”。
由于这是多维数组,因此并非只用一个“{}”即可,要视数组的维度和索引个数来决定如何使用大括号“{}”。
以二维数组为例,若希望第一维有3个索引、第二维有2个索引。就要以下列语法来指定元素的初始值:Integer:数组元素类型
Integer[][] array = new Integer[][]{
{new Integer(1),new Integer(2)},
{new Integer(3),new Integer(4)},
{new Integer(5),new Integer(6)},
}
示例:int[][] array = new int[3][2];
int[][] array = {{3,2},{2,7},{9,0}};
以上示例包括以下要点:
定义了一个名为array的数组
二维数组中有3个一维数组
每一个一维数组中有2个元素,并都已初始化
第一个一维数组array[0] = {3,2};array[1] = {2,7};array[2] = {9,0};
第三个一维数组的长度表示方式:array[2].length;
给第一个一维数组1脚标位赋值为78写法是:array[0][1] = 78;
示例:int[][]array = new int[3][];
二维数组中有3个一维数组
每一个一维数组都是默认初始化值null
可以对这3个一维数组分别进行初始化
array[0] = new int[3];
array[1] = new int[1];
array[2] = new int[2];
注意特殊写法情况:int[]x,y[];x是一维数组,y是二维数组。