之前我们已经学习了一维数组的使用。这里提到的是二维数组。因为数组只能保存一行数据。在平时生活中,比如坐标等等,我们需要表示用二维的数组来表示。通过行号和列号来定位数据。下面,让我们开始学习吧
![Java基础[7]:数组之如何使用二维数组](http://www.52ij.com/uploads/allimg/160403/0010255357-0.jpg)
前期准备工作(包括相关工具或所使用的原料等)
Eclipse
JDK
二维数组的声明及内存分配
二维数组,也可以理解为用一维数组保存的元素为一维数组。对于三维数组,等等,都可以这样划分。不过我们在编程中使用三维以上的数组比较少。因为那样使用起来非常不方便。下面我们来学习二维数组的声明。其声明同一位数组一样,可以先声明再分配内存,也可以声明时分配内存
第一种,先声明再分配内存的方式
数组声明: 数据类型 数组名[][];
内存分配: 数组名=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基础[7]:数组之如何使用二维数组](http://www.52ij.com/uploads/allimg/160403/0010251358-1.jpg)
注意事项
二维数组的不要越界访问,防止溢出
如果有错误,请指出;如果您觉得不错,请点个赞!
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本教程系本人依照真实经历原创,未经许可,谢绝转载。- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
