二维数组
所谓二维数组,可以简单的理解为是一种“特殊”的一维数组,它的每个数组空间中保存的是一个一维数组。
那么如何使用二维数组呢,步骤如下:
声明数组并分配空间
数据类型[][] 数组名= new 数据类型[行的个数][列的个数];
或者分为两步:
数据类型[][] 数组名; 数组名= new 数据类型[行的个数] [列的个数];
具体到实际例子:
//定义一个两行三列的二维数组int[][] num=new int[2][3];
赋值
二维数组的赋值,和一维数组类似,可以通过下标来逐个赋值,注意索引从 0 开始
数组名[行的索引] [列的索引] = 值;
也可以在声明数组的同时为其赋值
数据类型[][] 数組名={ {值1,值2...}, {值11,值22...}, {值21,值22...} };
具体到实际的例子:
//给第1行第1列的元素赋值num[0][0]=12;
处理数组
二维数组的访问和输出同一维数组一样,只是多了一个下标而已。在循环输出时,需要里面再内嵌一个循环,即使用二重循环来输出二维数组中的每一个元素。如:
package cn.mtianyan;public class ArrayTwo { public static void main(String[] args) { // 定义一个两行三列的二维数组并赋值 int[][] twoArray = {{1,2,3},{4,5,6}}; for (int i=0;i<twoArray.length;i++){ // 每行的元素 for (int j=0;j<twoArray[i].length;j++){ System.out.print(twoArray[i][j]); } System.out.println(); } } }
运行结果:
需要了解的:在定义二维数组时也可以只指定行的个数,然后再为每一行分别指定列的个数。如果每行的列数不同,则创建的是不规则的二维数组,如下所示:
package cn.mtianyan;public class ArrayTwoIrregular { public static void main(String[] args) { int[][] irregularArray = new int[2][]; //这里的2是数组容量 // irregularArray[0] = new int[2]; // irregularArray[1] = new int[3]; // irregularArray[0][1] = 3; irregularArray[0] = new int[]{1, 2}; irregularArray[1] = new int[]{1, 2, 3}; for (int i=0;i<irregularArray.length;i++){ for (int j=0;j<irregularArray[i].length;j++){ System.out.print(irregularArray[i][j]); } System.out.println(); } } }
编程任务
功能要求:定义一个两行三列的二维数组 names并赋值,使用二重循环输出二维数组中的元素。
运行结果:
package cn.mtianyan;public class ArrayTwoExercise { public static void main(String[] args) { // 定义两行三列的二维数组并赋值 String [][] names={{"tom","jack","mike"},{"zhangsan","lisi","wangwu"}}; for (int i=0;i<names.length;i++){ for (int j=0;j<names[i].length;j++){ System.out.println(names[i][j]); } System.out.println(); } } }
运行结果:
作者:天涯明月笙
链接:https://www.jianshu.com/p/a5821c09799d