06、数组
1、为什么使用数组
如何存储100名学生的成绩?
办法:使用变量存储,重复声明100个double类型变量即可
缺点:麻烦,重复操作过多。
如何让100名学生成绩全部+1?
办法:100个变量重复相同操作,直至全部完毕
缺点:无法进行统一的操作。
2、数组的概念
概念:
一组连续的存储空间,存储多个相同数据类型的值。
特点:
类型相同
长度固定
3、数组的创建与组成


4、数组的使用

5、下标范围

6、数组的遍历

7、数组的默认值

8、数组的创建语法
(1)先声明、再分配空间:
数据类型[] 数组名;
数组名= new 数据类型[长度];
(2)声明并分配空间:
数据类型[] 数组名 = new 数据类型[长度];
(3)声明并赋值(繁):
数据类型[] 数组名 = new 数据类型[]{value1,value2,value3,...};
(4)声明并赋值(简):
数据类型[] 数组名= {value1,value2,value3,.….}; //显示初始化,注意: 不可换行
9、案例
// 数组中元素的平均值
int[] numbers = new int[]{55, 66, 77, 88, 99};
int sum = 0;
for (int i = 0; i < numbers.length; i++) {
sum += numbers[i];
}
double avg = sum / numbers.length;
System.out.println(avg);
//给定一个整数数组,读入一个整数n,如果n在数组中存在,输出下标,不存在则输出-1。
Scanner input = new Scanner(System.in);
System.out.println("请输入一个整数:");
int n = input.nextInt();
int[] numbers = new int[]{1, 2, 3, 4, 5, 6, 7};
int index = -1;//代表n从未出现在数组中
//循环查找的过程
for (int i = 0; i < numbers.length; i++) {
if (numbers[i] == n) {
//存在
index = i;//改变index,代表n所出现的下标break;
}
}
System.out.println(index);
// 排序
int[] nums = new int[]{4, 3, 5, 2, 1};
//借助JDK提供的数组工具,进行排序
Arrays.sort(nums);
for (int i = 0; i < nums.length; i++) {
System.out.println(nums[i]);
}
//降序:需要手工的方式完成元素的倒置52341
for (int i = 0; i < nums.length / 2; i++) {//i= o
int temp = nums[i];// int temp = 1;
nums[i] = nums[nums.length - 1 - i];
nums[nums.length - 1 - i] = temp;
}
for (int i = 0; i < nums.length; i++) {
System.out.println(nums[i]);
}
10、总结
(1)数组的概念:
一组连续的存储空间,存储多个相同数据类型的值。
(2)数组的声明:
数据类型数组名=new数据类型[长度];
(3)数组的访问:
赋值:数组名[下标]=值;。
取值:数组名[下标]
(4)数组的遍历:
从头至尾,逐一对数组的每个元素进行访问。
(5)数组的应用:
统计数组元素、查找数组元素、JDK排序、元素倒置。

浙公网安备 33010602011771号