diff --git "a/04 \346\235\216\346\230\216\345\201\245/20221208 \346\225\260\347\273\204.md" "b/04 \346\235\216\346\230\216\345\201\245/20221208 \346\225\260\347\273\204.md"
new file mode 100644
index 0000000000000000000000000000000000000000..c286bf5970d46dafab02109f03fadbe74ea47520
--- /dev/null
+++ "b/04 \346\235\216\346\230\216\345\201\245/20221208 \346\225\260\347\273\204.md"
@@ -0,0 +1,96 @@
+## 数组
+
+#### 1.数组概述
+
+一次性声明大量的用于存储数据类型的变量
+
+要存储的数据通常都是同类型数据,例如:考试成绩
+
+int[] scores = {100,100,100,100,100,100,100…};
+
+#### 2.数组是什么
+
+数组(array):是一种用于存储多个相同数据类型的存储模型(可以理解为容器)
+
+#### 3.数组定义格式
+
+##### 格式1:
+
+数据类型[ ] 变量名:
+
+ 范例 int[ ] arr ; 跟 int arr相比;
+
+ int[ ] arr 定义一个int 类型的数组,数组名是arr
+
+ int arr 定义了一个变量 变量名是arr
+
+##### 格式2:
+
+数据类型 变量名[ ]:
+
+ int arr [ ];
+
+ 定义了一个int类型的变量, 变量名是arr数组
+
+推荐使用:格式1 int [ ] arr;
+
+#### 3.数组初始化概述
+
+ Java 数组必须先初始化 才能使用
+
+所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值注意:
+
+数组中的每一个数据,我们称之为数组中的元素
+
+##### 3.1静态初始化
+
+静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度格式:
+
+数据类型[] 变量名 = new 数据类型[]{数据1,数据2,数据3,…};
+
+范例:int[] arr = new int[]{1,2,3};
+
+ 简化格式: 数据类型[ ] 变量名 = {数据1,数据2,}
+
+#### 4.遍历
+
+数组遍历是什么
+
+获取数组中的每一个元素,我们可以把获取到的元素输出在控制台
+
+获取数组长度(元素个数)
+
+格式: 数组名.length
+
+ arr .length
+
+数组遍历指的是把数组中的元素取出来,取出来之后可以(打印,求和,判断…)
+
+#### 作业
+
+定义一个可以存储5个元素的int数组,数据来自于键盘录入,最后遍历数组,把元素输出在控制台
+
+``` java
+import java.util.Scanner;
+
+//需求:定义一个可以存储5个元素的int数组,数据来自于键盘录入,最后遍历数组,把元素输出在控制台
+//分析:
+//① 数组长度可知,元素未知,采用动态初始化
+//② 键盘录入,使用Scanner实现
+public class D1 {
+
+ public static void main(String[] args) {
+ Scanner sc = new Scanner(System.in);
+ int[] arr=new int[5];
+ for (int i = 0; i max){
+ max = arr[i];
+ }
+ }
+ // 4. 循环结束后, 打印最大值.
+ System.out.println("max:" + max);
+ }
+}
+```
+
+## 数组基本查找【应用】
+
+需求:
+
+ 已知一个数组 arr = {19, 28, 37, 46, 50}; 键盘录入一个数据,查找该数据在数组中的索引,并在控
+
+ 制台输出找到的索引值。
+
+思路:
+
+ 1.定义一个数组,用静态初始化完成数组元素的初始化
+
+ 2.键盘录入要查找的数据,用一个变量接收
+
+ 3.定义一个索引变量,初始值为-1
+
+ 4.遍历数组,获取到数组中的每一个元素
+
+ 5.拿键盘录入的数据和数组中的每一个元素进行比较,如果值相同,就把该值对应的索引赋值给
+
+索引变量,并结束循环
+
+ 6.输出索引变量
+
+``` java
+ // 1.定义一个数组,用静态初始化完成数组元素的初始化
+ int[] arr = {19, 28, 37, 46, 50};
+ // 2.键盘录入要查找的数据,用一个变量接收
+ Scanner sc = new Scanner(System.in);
+ System.out.println("请输入您要查找的元素:");
+ int num = sc.nextInt();
+ // 3.定义一个索引变量,初始值为-1。假设要查找的数据, 在数组中就是不存在的
+ int index = -1;
+ // 4.遍历数组,获取到数组中的每一个元素
+ for (int i = 0; i < arr.length; i++) {
+ // 5.拿键盘录入的数据和数组中的每一个元素进行比较,如果值相同,就把该值
+//对应的索引赋值给索引变量,并结束循环
+ if(num == arr[i]){
+ // 如果值相同,就把该值对应的索引赋值给索引变量,并结束循环
+ index = i;
+ break;
+ }
+ }
+ // 6.输出索引变量
+ System.out.println(index);
+ }
+}
+```
+
+## 作业
+
+需求:在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。
+
+ 选手的最后得分为:去掉一个最高分和一个最低分后 的4个评委平均值 (不考虑小数部分)。
+
+ 1.定义一个数组,用动态初始化完成数组元素的初始化,长度为6
+
+ 2.键盘录入评委分数
+
+ 3.由于是6个评委打分,所以,接收评委分数的操作,用循环
+
+ 4.求出数组最大值
+
+ 5.求出数组最小值
+
+ 6.求出数组总和
+
+ 7.按照计算规则进行计算得到平均分
+
+ 8.输出平均分
+
+``` java
+import java.util.Scanner;
+
+//在编程竞赛中,有6个评委为参赛的选手打分,分数0-100的整数分。选手的最后得分为:
+ // 去掉一个最高分和一个最低分后的4个评委平均值(不考虑小数部分)。
+public class D3 {
+ public static void main(String[] args) {
+ Scanner sc = new Scanner(System.in);
+ double[] arr=new double[6];
+ for (int i= 0;i