二维数组
二维数组就是数组里面再放一个数组
语法:
<数据类型> [] [] 数组名;
或: <数据类型> 数组名 [] [];
比如这里有5个单位,每个单位员工有20个,他们都在忙几个相同的项目,现在要对某项项目进行操作。
这里就要这样来声明:
public static void main(String[] args) {
int [] [] unit; //定义二维数组。
unit = new int[5][20];
这就是在unit中开辟了五个数组,每个数组可以存放二十数据。
//----也可以这样声明,直接new int[][]接收
int[][] unit2 = new int[5][20];
}
(大概就这样)
使用二维数组
二维数组当然也有声明并赋值的方法
方法① 例:
int [] [] unit = new int[][] {{90,80,70,60},{20,30,40}};
方法② 例:
int [] [] unit ={{90,80,70,60},{50,40,30},{20}};
那这是啥意思呢,第二个为例,就是在unit中开了三个数组,分别装后面那三个大括号内的数据。
可以遍历一下看一下:
public class Test01 {
public static void main(String[] args) {
int [] [] unit ={{90,80,70,60},{50,40,30},{20}};
for (int num:unit[0]){
System.out.println(num);
}
for (int num:unit[1]){
System.out.println(num);
}
for (int num:unit[2]){
System.out.println(num);
}
}
}
最后来做个练习:
有3个班各5个学生的java课成绩,如何计算3个班各自的总分?
直接来看,分析写在代码里:
public class Test01 {
public static void main(String[] args) {
//声明二维数组并开辟空间
int [] [] class_=new int[3][5];
//声明sum接收总分
int sum=0;
Scanner input = new Scanner(System.in);
//用双重for循环录入成绩
for (int i=0; i<3; i++){
System.out.println("请输入第"+(i+1)+"个班的成绩");
for (int j=0; j<5; j++){
System.out.println("请输入第"+(j+1)+"个同学的成绩");
//用num录入输入的同学成绩
int num = input.nextInt();
//把接收的成绩放进数组
class_[i][j]=num;
}
}
//
System.out.println("----计算总成绩");
for (int i=0; i< class_.length; i++){
for (int j=0; j<class_[i].length; j++){
sum+=class_[i][j];
}
System.out.println("请输入第"+(i+1)+"个班的总成绩是:"+sum);
}
}
}
就是先把输入的数据用双重for循环放进数组里,再双重循环把每个班成绩加好拿出来就行了。
但是,咱肯定也看到我在上面最后一个班最后一个同学成绩输了个三百多,这咋可能啊,这个在前面录入成绩时加个if判断就OK了,这都不是事。
好了,这个java第一部分基础就到这里了,接下来的应该是面向对象那一块,但前端这块好久没写了,所以打算先把Js基础写一写,
最后还是熟悉的每一总期的结语,谢谢各位的陪伴,祝各位学习工作顺利,生活愉快。