1.二维数组
java中定义和操作多维数组的语法与一维数组类似。
定义二维数组的语法格式:
数据类型[][] 数组名
或者
数据类型 数组名[][]
1.数组类型是数组元素的类型
2.[][] 用于定义了一个二维数组,通过·多个下标进行数据访问
例1:
定义一个二维数组
package Test2;
/**
* @作者:Xem626
* @date: 2022/7/6 10:19
* @TODO
*/
public class Test1 {
public static void main(String[] args) {
int[][] scores;
scores=new int[5][5];
int [][] scores1=new int[5][5];
}
}
注意:
从语法上看Java支持多维数组,但是从内存分配原理上来看,其实就是一维数组,java中只有一维数组,没有多维数组。
例2:
定义一个整型的二维数组,并为其分配的内存空间
int[][] s =new int[3][5];
表面上看是二维数组,但是从内存分配来看,实际上就是一个
一维数组,数组名为s,包括了3个元素,分别是s[0]、s[1]、
s[2],每个元素是整型数组类型,即一维数组类型。
而s[0]又是一个数组的名称,包括了5个元素
分别是s[0][0]、s[0][1]、s[0][2]、s[0][3]、s[0][4]、
每个元素都是整数类型。s[1]、s[2]、s[3]情况相同
所以二维数组实际上就是一个一维数组,每个元素
又是一个一维数组。
s[1][0]、s[1][1]、s[1][2]、s[1][3]、s[1][4]
2.二维数组的使用
二维数组也可以进行初始化操作,与一位数组类似,同样可以采用两种方式
1.初始化二维数组
例3:
package Test2;
/**
* @作者:Xem626
* @date: 2022/7/6 10:30
* @TODO
*/
public class Test2 {
public static void main(String[] args) {
int[][] scores =new int[][]{{12,21,23,43},{22,33,44},{33,22,11}};
//或者
int scores1[][]={{12,21,23,43},{22,33,44},{33,22,11}};
}
}
2.二维数组的遍历
例4:
分别计算每个班级的总成绩
实现的步骤:
1.初始化一个整数型的二维数组
2.定义和保存总成绩的变量
3.使用for循环遍历二维数组
package Test2;
/**
* @作者:Xem626
* @date: 2022/7/6 10:35
* @TODO
*/
public class Test3 {
public static void main(String[] args) {
int[][] array=new int[][]{{99,99},{22,55,66},{22,55}};
int total;
for(int i=0;i<array.length;i++){
String string=(i+1)+"班";
total=0;
for(int j=0;j<array[i].length;j++){
total+=array[i][j];
}
System.out.println(string+"总成绩"+total);
}
}
}