一、数组遍历是啥
- 遍历:就是一个一个数据的访问
- 为啥要遍历?搜索、数据统计…都需要用到遍历
演示样式:
package com.app.traverse;
public class ArrayDemo1 {
public static void main(String[] args) {
// 目标:学会进行数组元素的遍历:就是一个一个的访问数据
// 定义一个静态初始化数组arr,元素有:1,3,1,4 用于测试遍历
int[] arr = {1, 3, 1, 4};
// 索引: 0 1 2 3
// 原始遍历方式
// System.out.println(arr[0]);
// System.out.println(arr[1]);
// System.out.println(arr[2]);
// System.out.println(arr[3]);
// 进阶遍历方式
/*
不推荐:因为如果数组中有1万个元素
你要一个一个去数?然后写循环条件语句 i < 10000?
*/
// for (int i = 0; i < 4; i++) {
// System.out.println(arr[i]);
// }
// 终极遍历方式
/*
推荐:因为循环条件是引用 数组的长度:i < 数组名.length,
因此不管你的数组有多少个元素,或者又增加元素数量,依旧不需要改动代码
*/
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
输出结果:
1
3
1
4
数组遍历总结
1、什么是遍历?
- 一个一个的把数据访问一遍
2、如何遍历数组?
- 使用for循环,初始化语句从0开始,循环条件是小于数组的长度,迭代语句自增
int[] ages = {1, 1, 20, 50}
for(int i = 0; i < ages.length; i++) {
System.out.println(ages[i]);
}
二、数组遍历案例:数组元素求和
- 需求:某部门5名员工的销售额分别是:16、26、36、6、100,请计算出他们部门的总销售额。
- 分析需求:
- 这个业务场景属于,一开始就能确定元素值,所以使用静态初始化数组
- 使用for循环遍历5名员工的销售额:一个一个的把销售额访问出来
- 在循环外定义一个求和变量,用于累加5名员工的销售额
package com.app.traverse;
public class ArrayTest2 {
public static void main(String[] args) {
// 目标:通过数组遍历案例:元素求和,能更深的掌握遍历使用
/*
一、需求:某部门5名员工的销售额分别是:16、26、36、6、100,请计算出他们部门的总销售额。
二、分析需求:
1.这个业务场景属于,一开始就能确定元素值,所以使用静态初始化数组。
2.使用for循环遍历5名员工的销售额:一个一个的把销售额访问出来。
3.在循环外定义一个求和变量,用于累加5名员工的销售额
三、具体实现:
1.定义一个int类型的静态初始化数组,用于存放5名员工的销售额
2.使用for循环遍历:初始化语句从0开始; 循环条件:初始化语句的变量 小于 数组的长度; 迭代语句:初始化语句的变量自增
3.在循环外定义一个求和变量,初始值0,用于累加5名员工的销售额
4.将求和值输出到控制台
*/
// 1.定义一个int类型的静态初始化数组,用于存放5名员工的销售额
int[] sales = {16, 26, 36, 6, 100};
// 3.在循环外定义一个变量,初始值0,用于存放5名员工的销售额求和值
int sum = 0;
// 2.使用for循环遍历
// 初始化语句从0开始; 循环条件:初始化语句的变量 小于 数组的长度; 迭代语句:初始化语句的变量自增
for (int i = 0; i < sales.length; i++) {
sum += sales[i]; // 等价于 sum = sum + sales[i] 等价于 sum = 0 + sales数组的每一位元素
}
// 4.将求和值输出到控制台
System.out.println("某部门的总销售额:" + sum);
}
}
输出结果:
某部门的总销售额:184
案例总结
1、如何实现批量数据的求和?
- (1)如果是一开始就能确定元素值的,就定义静态初始化数组;否则定义动态初始化数组,后期赋值。
- (2)使用for循环对数组中每个元素进行遍历:一个一个的把元素访问。
- (3)在循环外定义一个求和变量,用于累加每一个元素,进行求和。
- (4)将求和变量输出到控制台。