From 0e05a9fdb4efa88f62158b050caa678f4c725a4f Mon Sep 17 00:00:00 2001 From: 1 1 <2161737470@qq.com> Date: Thu, 8 Dec 2022 22:17:45 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E7=AC=AC=E4=B8=83=E6=AC=A1=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20221208 \346\225\260\347\273\204.md" | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 "04 \346\235\216\346\230\216\345\201\245/20221208 \346\225\260\347\273\204.md" 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 0000000..52300cc --- /dev/null +++ "b/04 \346\235\216\346\230\216\345\201\245/20221208 \346\225\260\347\273\204.md" @@ -0,0 +1,102 @@ +## 数组 + +#### 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 sce=new Scanner(System.in); + System.out.println("请输入第一个整数:"); + int one = sce.nextInt(); + System.out.println("请输入第二个整数:"); + int two = sce.nextInt(); + System.out.println("请输入第三个整数:"); + int three = sce.nextInt(); + System.out.println("请输入第四个整数:"); + int four = sce.nextInt(); + System.out.println("请输入第五个整数:"); + int five = sce.nextInt(); + + int[]arr={one,two,three,four,five}; + for (int i=0;i<5;i++){ + System.out.println("你输入的数字分别是:"+arr[i]); + } + } +} +``` + -- Gitee From 1f3fe5e8e08dba127ed9edd2a8c59fab69da3ecb Mon Sep 17 00:00:00 2001 From: 1 1 <2161737470@qq.com> Date: Sun, 11 Dec 2022 22:23:19 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E7=AC=AC=E5=85=AB=E6=AC=A1=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20221208 \346\225\260\347\273\204.md" | 30 ++-- ...60\347\273\204\350\241\245\345\205\205.md" | 141 ++++++++++++++++++ 2 files changed, 153 insertions(+), 18 deletions(-) create mode 100644 "04 \346\235\216\346\230\216\345\201\245/20221211 \346\225\260\347\273\204\350\241\245\345\205\205.md" 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" index 52300cc..c286bf5 100644 --- "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" @@ -74,27 +74,21 @@ int[] scores = {100,100,100,100,100,100,100…}; import java.util.Scanner; //需求:定义一个可以存储5个元素的int数组,数据来自于键盘录入,最后遍历数组,把元素输出在控制台 - //分析: - //① 数组长度可知,元素未知,采用动态初始化 - //② 键盘录入,使用Scanner实现 +//分析: +//① 数组长度可知,元素未知,采用动态初始化 +//② 键盘录入,使用Scanner实现 public class D1 { public static void main(String[] args) { - Scanner sce=new Scanner(System.in); - System.out.println("请输入第一个整数:"); - int one = sce.nextInt(); - System.out.println("请输入第二个整数:"); - int two = sce.nextInt(); - System.out.println("请输入第三个整数:"); - int three = sce.nextInt(); - System.out.println("请输入第四个整数:"); - int four = sce.nextInt(); - System.out.println("请输入第五个整数:"); - int five = sce.nextInt(); - - int[]arr={one,two,three,four,five}; - for (int i=0;i<5;i++){ - System.out.println("你输入的数字分别是:"+arr[i]); + 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