二维数组
所谓二维数组,可以简单的理解为是一种“特殊”的一维数组,它的每个数组空间中保存的是一个一维数组。
-
声明数组
声明数组并分配空间:
数据类型[][] 数组名 = new 数据类型[行的个数][列的个数];
先声明再创建:
数据类型[][] 数组名;
数组名 = new 数据类型[行的个数][列的个数];
例如:定义一个5行4列的二维数组
String[][] arr=new String[5][4];
-
赋值
语法:数组名[行的索引][列的索引] = 值;
初始化:数据类型[][] 数组名 = {{值1,值2...},{值11,值22...},...} -
长度
二维数组可看成一个表格,行和列,行就代表了二维数组的长度,比如上面的arr.length = 5
而每一行又可以看成是一维数组,比如arr[0]有4个元素arr[0][0]、arr[0][1]、arr[0][2]、arr[0][3] -
访问数组
二维数组的访问和输出同一维数组一样,只是多了一个下标而已。在循环输出时,需要里面再内嵌一个循环,即使用二重循环来输出二维数组中的每一个元素。
public static void main(String[] args) {
//定义一个3行4列的整型二维数组
int[][] num = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
System.out.println("行的个数" + num.length); //3
System.out.println("列的个数" + num[0].length); //4
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();
}
//1 2 3 4
//5 6 7 8
//9 10 11 12
}
-
不规则的二维数组
在定义二维数组时也可以只指定行的个数,然后再为每一行分别指定列的个数。
如果每行的列数不同,则创建的是不规则的二维数组。
增强for循环
又叫foreach循环,是迭代器的简写形式,主要用于遍历容器(数组/集合)。
普通for循环方便对索引进行操作,而foreach循环方便快速操作变量。
格式:
for(容器内类型 临时变量 : 容器) {
内部可以直接使用临时变量访问数据
}
示例:遍历数组
int[] arr = {1,2,3,4,5,6};
for (int temp : arr) {
System.out.println(temp);
}