喵星之旅-成长的雏鹰-java语言基础-6-一维数组

为什么需要数组

随着我们学习的深入,我们写代码的过程中,可能会需要越来越多的变量,那么一个程序定义了很多类似的变量就让人很难操作,起名字也会是一个比较繁琐的过程,那么这个时候我们就要用数组了。
场景:
Java考试结束后,老师配了一项任务,计算全班(100人)Java课程考试的平均分。
我们用数组后,变量是很少的,我们只需要一个循环就可以完成赋值。只需要一个数组变量就可以存储所有数据。

什么是数组

数组: 是一个变量,存储相同数据类型的一组数据。
声明一个变量就是在内存空间划出一块合适的空间,声明一个数组就是在内存空间划出一串连续的空间。
数组基本要素:标识符、数组元素、元素下标(从0开始)、元素类型。

1
2
3
数组中的所有元素必须属于相同的数据类型
数组的大小一旦确认,就不可更改。
数组的类型决定了存储变量的类型。

如何使用数组

声明数组

​ 声明数组: 告诉计算机数据类型是什么。
不同的声明方式:

1
2
3
int[ ] score1;   
int score2[ ];
String[ ] name;

分配空间

分配空间: 告诉计算机分配几个连续的空间

1
2
3
scores = new int[30]; 
avgAge = new int[6];
name = new String[30];

赋值

赋值:向分配的格子里放数据

1
2
3
4
scores[0] = 88;
scores[1] = 99;
scores[2] = 66;
……

边声明边赋值

1
2
3
4
int[ ] scores = {88, 99, 66};
int[ ] scores = new int[ ]{88, 99, 66};


示例

计算5位学生的平均分

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int[] scores = new int[5];	//成绩数组
int sum = 0; //成绩总和
Scanner input = new Scanner(System.in);
System.out.println("请输入5位学员的成绩:");
for(int i = 0; i < scores.length; i++){
scores[i] = input.nextInt();
sum = sum + scores[i]; //成绩累加
}
/*//使用foreach遍历
for(int i = 0; i < scores.length; i++){
scores[i] = input.nextInt();
}
for(int score:scores){
sum+=score;
}*/
//计算并输出平均分
System.out.println("学员的平均分是:" + (double)sum/scores.length);

求数组最大值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  int[] scores = new int[5];
int max = 0; //记录最大值
System.out.println("请输入5位学员的成绩:");
Scanner input = new Scanner(System.in);
for(int i = 0; i < scores.length; i++){
scores[i] = input.nextInt();
}
//计算最大值
//使用max存储擂主初始值:第一个元素为擂主
max = scores[0];
//循环打擂
for(int i = 1; i < scores.length; i++){
if(scores[i] > max){
max = scores[i];
}
}
System.out.println("考试成绩最高分为:" + max);

插入数值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
int[] list = new int[6]; // 长度为为6的数组
list[0] = 99;
list[1] = 85;
list[2] = 82;
list[3] = 63;
list[4] = 60;

int index = list.length; // 保存新增成绩插入位置
System.out.println("请输入新增成绩: ");
Scanner input = new Scanner(System.in);
int num = input.nextInt(); // 输入要插入的数据
// 找到新元素的插入位置
for (int i = 0; i < list.length; i++) {
if (num > list[i]) {
index = i;
break;
}
}
// 元素后移
for (int j = list.length - 1; j > index; j--) {
list[j] = list[j - 1]; // index下标开始的元素后移一个位置
}
list[index] = num;// 插入数据
System.out.println("插入成绩的下标是:" + index);
System.out.println("插入后的成绩信息是: ");
for (int k = 0; k < list.length; k++) { // 循环输出目前数组中的数据
System.out.print(list[k] + "\t");
}

文章目录
  1. 为什么需要数组
  2. 什么是数组
  3. 如何使用数组
    1. 声明数组
    2. 分配空间
    3. 赋值
  4. 示例
|