Java二维数组(二十一)
Java二维数组
为了方便组织各种信息,计算机常将信息以表的形式进行组织,然后再以行和列的形式呈现出来。二维数组的结构决定了其能非常方便地表示计算机中的表,以第一个下标表示元素所在的行,第二个下标表示元素所在的列。
可以简单的将二维数组理解为是一种“特殊”的一维数组,它的每个数组空间中保存的是一个一维数组。
二维数组的使用
语法格式:
1)声明数组并分配空间
数据类型[][] 数组名 = new 数据类型 [行的个数][列的个数];
或者
数据类型[][] 数组名;
数组名 = new 数据类型 [行的个数][列的个数]
如:定义一个两行三列的二维数组
int[][] num = new int[2][3];
2)赋值
二维数组的赋值,和一维数组类似,可以通过下标来逐个赋值,注意索引从0开始
数组名[行的索引][列的索引] = 值;
也可以在声明数组的同时为其赋值
数据类型[][] 数组名 = {{值1,值2...},{值11,值22...},{值21,值22...}};
如:给第一行第一列的元素赋值
num[0][0] = 12;
3)处理数组
二维数组的访问和输出和一维数组一样,只是多了一个下标而已。在循环输出时,需要里面再内嵌一个循环,即使用二重循环来输出二维数组中的每一个元素。
如:定义一个两行三列的二维数组并赋值
public class HelloJava { public static void main(String[] args) { int[][] num = {{1,2,3},{4,5,6}};//定义一个两行三列的二维数组并赋值 for (int i=0;i<num.length;i++) {//定位行 for (int j=0;j<num[i].length;j++) {//定位每行的元素 System.out.print(num[i][j]); } System.out.println();//实现换行 } } }
运行结果:
123
456
public class HelloJava { 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(); } } }
运行结果:
tom
jack
mike
zhangsan
lisi
wangwu
在定义二维数组时也可以只指定行的个数,然后再为每一行分别指定列的个数。如果每行的列数不同,则创建的是不规则的二维数组。
如:
public class HelloJava { public static void main(String[] args) { int[][] num = new int[3][];//定义一个三行的二维数组 num[0] = new int[2];//为第一行分配两列 num[1] = new int[3];//为第二行分配三列 num[2] = new int[4];//为第三行分配四列 num[0][0] = 1;//第一行第一列的元素赋值为1 num[1][1] = 2;//第二行第二列的元素赋值为2 num[2][3] = 3;//第三行第四列的元素赋值为3 System.out.println(num[0][0]); System.out.println(num[1][1]); System.out.println(num[2][3]); } }
运行结果:
1
2
3