前言:
在使用数组之前,我们想清楚一个问题:为什么要用数组?数组适用于哪些场合?
想一下生活中的例子:有 10 个学生的成绩,然后问你这 10 个学生成绩的总和是多少?
你可能会说:我用计算机一个一个 blablabla 不就 OK 了,这样确实可以,如果有 100 个学生的成绩,
1000个,10000000个学生的成绩呢?难道你还会一个一个的进行累加计算吗?(嘻嘻,这可不是 Money)
那有什么简单的方法吗?答案是肯定的,让我们带着这些不解 let's go.
数组的创建:
Java数组的创建 与 C 和 C ++ 有些许的不同,但大致是一样的。
先来看看如何创建数组:
int[] students = new int[100];
以上就是创建数组的一种方式: int[] : 相当于我们之前所说的数据类型,用 [] 表明是数组类型.
(我是这样来记的,可以当做参考), students 是我们的数组名, 由于数组也是引用数据类型,所以
需要 new ,数组开辟的是一段 连续的内存空间。 int[100] ,表示开辟 100 个 int 的空间。
所以现在如果有 100 个学生,我们只需要开辟 100 个数组空间就可以啦。
数组的使用:
数组的使用: 数组名 + 下标 students[0],students[1]
数组类型必须和 数组元素的类型一致。
数组长度一但定义,不能改变。
什么时候用数组?
当多个元素类型一致时,考虑用数组。
数组定义的三种形式:
int[] students = new int[3]; // 可以拆开
int[] students = new int[]{89,90,34}; // 可以拆开
int[] students;
students = new int[]{89,90,34};
int[] students = {89,90,34}; // 不能拆开写
案例:
从键盘输入 5 个学生的成绩,求出 5 个学生的总和,并且按照升序的顺序打印 每个的成绩。
public static void main(String[] args) {
// 创建 input 对象
Scanner input = new Scanner(System.in);
// 创建数组
int[] students = new int[5];
// 计算总和
int sum = 0;
// 注意:数组下标是从 0 开始的
for(int i = 1; i <= 5; i ++) {
students[i - 1] = input.nextInt();
sum += students[i - 1];
}
System.out.println(sum);
// 调用 sort 函数进行排序
Arrays.sort(students);
// 利用 新的方式进行遍历数组
for(int student : students) {
System.out.print(student + " ");
}
}
效果图:
拓展: 二维数组的使用:
与一维数组的使用类似。
public static void main(String[] args) {
// 创建 input 对象
Scanner input = new Scanner(System.in);
int[][] students = new int[2][3];
for(int i = 0; i < 2; i ++) {
for(int j = 0; j < 3; j ++) {
students[i][j] = input.nextInt();
}
}
for(int i = 0; i < 2; i ++) {
for(int j = 0; j < 3; j ++) {
System.out.print(students[i][j] + " ");
}
System.out.println();
}
}
效果图: