2,直接创建二维数组并赋值语句:int[][] array ={{1,2,3,4,5},{1,2,3,4,5},{1,2,3,4,5}}
二维数组,也可以理解为用一维数组保存的元素为一维数组。对于三维数组,等等,都可以这样划分。不过我们在编程中使用三维以上的数组比较少。因为那样使用起来非常不方便。下面我们来学习二维数组的声明。其声明同一位数组一样,可以先声明再分配内存,也可以声明时分配内存
第一种,先声明再分配内存的方式
数组声明: 数据类型 数组名[][]
内存分配: 数组名 = new 数据类型[行的个数][列的个数]
举例: 假如我们需要统计一个象棋上放的是黑棋还是白棋。这时,我们可以建立一个坐标,即以象棋盘的两边建立坐标轴。这时,我们可以这样定义这个二维数组:
声明数组: int Chess[][]
内存分配Chess= new int[64][64]
第二种,即声明时即分配内存的方式。
使用格式是: 数据类型 数组名[][] =new 数据类型 [行的个数][列的个数]
使用上个步骤中的例子,我们可以将数组的声明和分配内存写成以下方式:
声明即分配内存:int Chess[][] = new int[64][64]
二维数组的赋值,同一维数组类似。只是在{}中的每个元素又是每个一维数组。如下格式:
数据类型 数据名[][]={
{值1,值2,值3,值4 },//第一行数据
{值5,值6,值7,值8}, //第二行数据
...,
}
二维数组中,可以有列数不相等的数组。即每一行的列数不同时。我们需要对每一行进行赋值。
对于这两种二维数组。我们分别来进行分别举例进行赋值。第一种是:列数相同的数组
其赋值格式如下:
String ClassRoom[][]={
{"小王","小李","小张"},
{"小红","小明","小花"},
}
即第一行的人数和第二行的人数相同。
第二种:即列数不相等的数组的赋值格式如下:
String ClassRoom[][]={
{"小王","小李","小张"},
{"小红","小明","小花"},
{"小雨","小风","小平","小雷"},
{"小单"}
}
看上述例子。对于不同的行,其相应的列数是不同的。
可以这么理解,java没有二维数组,只有数组的数组。int[][]是一个int[]的数组。
a[0]
=
new
int
[2]
第一个元素是2个长度的int[],{0,
0}。
a[1]
=
new
int
[3]
第二个元素是3个长度的int[],{0,
0,
0}。
二维数组:int a[][] = {{1,2}, {3,4,5,6}, {7,8,9}}二维数组可看成以数组为元素的数组。java中多维数组的声明和初始化应按从高维到低维的顺序进行,如:
方法(1)
int a[][] = new int[3][]
a[0] = new int[2]
a[1] = new int[4]
a[2] = new int[3]//正确
int t[][] = new int[][4]//非法
方法(2);
int a[][] = new int[3][5]//正确,分配一个三行五列的二维数组。