在之前我们已经讲解了什么是数组,数组就是存储相同数据类型数据的容器。
也就是说相同数据类型的数据都给可以储存在数组中,那我们可以遐想一下,如果数组中存储的数据是数组,这又会是什么样的呢。
什么是二维数组
二维数组就是,一个普通数组里面储存的数据也是一个数组
二维数组的声明
二维数组的声明和赋值方式和一维数组类似,只需要在多加一对 [ ] 表示
数据类型[][] 数组名; 或者 数据类型数组名 [][];
int[][] nums;
String[][] strings;
分配空间
nums = new int[5][2];
注意:
二维数组在分配空间的时候,
第一个数组长度必须要写,告诉你这个二维数组里有多少个元素,
第二数组长度可以写,可以不写,
不过写了,表示这个二维数组里的里面的元素(一维数组)的长度,
如果没有写,这个二维数组里面的元素(一维数组)长度可以不一样
操作数据:数组名[下标][下标];
二维数组的声明和分配空间合并写
数据类型[][] 数组名=new 数据类型[数组长度][数组长度];
或者 数据类型[][] 数组名=new 数据类型[数组长度][];
// 二维数组的声明、分配空间、赋值合并写
// 数据类型[][] 数组名 = new
// 数据类型[][]{{数据1,数据2,...,数据n},{数据1,数据2,...,数据n},....,{数据1,数据2,...,数据n}};
// 注意:new后面的两个[][]里都不能写数组长度
char[][] chars = new char[][] { { 'a', 'b', 'c' }, { 'c', 'd' },
{ 'm' } };
// 二维数组的声明、分配空间、赋值合并的简写方式
// 数据类型[][] 数组名 =
// {{数据1,数据2,...,数据n},{数据1,数据2,...,数据n},....,{数据1,数据2,...,数据n}};
double[][] nums3 = { { 2.5, 5.5 }, { 11.5, 55.5 }, { 99.9, 88.8 },
{ 70.5, 50 } };
二维数组的内存图