二维数组实际上是一个以一维数组做为元素的一维数组
<数据类型> [ ][ ] 数组名; 或者 <数据类型> 数组名 [ ][ ];
int [ ][ ] scores; //定义二维数组 scores=new int[5][50]; //分配内存空间 //或者 int [ ][ ] scores = new int[5][50];
二维数组定义并赋值
1 int [ ][ ] scores=new int[][]{ { 90, 85, 92, 78, 54 }, { 76, 63,80 }, { 87 }};
2 int scores[ ][ ] = {{ 90, 85, 92, 78, 54 }, { 76, 63,80 }, { 87 } };
使用Arrays为数组排序
使用java.util.Arrays类 java.util包提供的工具类 Arrays类提供操作数组的方法,
如:排序、查询 Arrays类的sort()方法: 对数组进行升序排列
boolean equals(array1,array2) | 比较array1和array2两个数组是否相等 |
sort(array) | 对数组array的元素进行升序排列 |
String toString(array) | 将一个数组array转换成一个字符串 |
void fill(array,val) | 把数组array所有元素都赋值为val |
copyOf(array,length) | 把数组array复制成一个长度为length的新数组,返回类型与复制的数组一致 |
int binarySearch(array, val) | 查询元素值val在数组array中的下标(要求数组中元素已经按升序排列) |
package cn.kgc.kgc67;
import java.util.Scanner;
/**
* 有3个班各5名学生,要统计他们的java课程的成绩,
* 计算3个班所有学生java的总成绩
* 计算3个班所有学生的平均分
*
* @author Administrator
*
*/
public class Demo10 {
public static void main(String[] args) {
int[][] scores = new int[3][5]; // 3个班,每个班有5名学生
Scanner input = new Scanner(System.in);
int sum = 0;
for (int i = 0; i < scores.length; i++) { // scores.length 二维数组的长度3 i:
// 0-->2
System.out.println("请输入第" + (i + 1) + "个班的java成绩");
int[] temp = scores[i]; // 二维数组的每个元素都是一维数组,每个班的学生的成绩
for (int j = 0; j < temp.length; j++) {
System.out.println("请输入第" + (j + 1) + "个学生的成绩");
temp[j] = input.nextInt();
sum += temp[j];
}
}
System.out.println("三个班的总成绩是:" + sum);
}
}