From f59cf98d1b31b9edf526107cc3831f4b8b565810 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9E=97=E6=88=90=E9=B8=BF?= <3157164764@qq,com>
Date: Mon, 5 Dec 2022 22:16:14 +0800
Subject: [PATCH 1/4] =?UTF-8?q?=E4=BD=9C=E4=B8=9A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...55\345\217\245\345\210\244\346\226\255.md" | 411 ++++++++++++++++++
1 file changed, 411 insertions(+)
create mode 100644 "16 \346\236\227\346\210\220\351\270\277/2022122 switch\345\210\244\346\226\255\344\273\245\345\217\212if\350\257\255\345\217\245\345\210\244\346\226\255.md"
diff --git "a/16 \346\236\227\346\210\220\351\270\277/2022122 switch\345\210\244\346\226\255\344\273\245\345\217\212if\350\257\255\345\217\245\345\210\244\346\226\255.md" "b/16 \346\236\227\346\210\220\351\270\277/2022122 switch\345\210\244\346\226\255\344\273\245\345\217\212if\350\257\255\345\217\245\345\210\244\346\226\255.md"
new file mode 100644
index 0000000..96b8843
--- /dev/null
+++ "b/16 \346\236\227\346\210\220\351\270\277/2022122 switch\345\210\244\346\226\255\344\273\245\345\217\212if\350\257\255\345\217\245\345\210\244\346\226\255.md"
@@ -0,0 +1,411 @@
+## 1.switch
+
+执行流程:
+
+首先计算出表达式的值
+
+其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到
+
+break就会结 束。
+
+最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束
+
+掉。
+
+### switch案例
+
+```java
+public static void main(String[] args){
+ Scanner sc = new Scanner(System.in);
+ System.out.println("请输入星期数:");
+ int week = sc.nextInt();
+
+ switch(week){
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ System.out.println("工作日");
+ break;
+ case 6:
+ case 7:
+ System.out.println("休息日");
+ break;
+ default:
+ System.out.println("您的输入有误");
+ break;
+ }
+ }
+}
+```
+
+## 2.if语句判断
+
+#### 2.1 if语句格式1(理解)
+
+~~~java
+格式:
+if (关系表达式) {
+ 语句体;
+}
+~~~
+
+执行流程:
+
+①首先计算关系表达式的值
+
+②如果关系表达式的值为true就执行语句体
+
+③如果关系表达式的值为false就不执行语句体
+
+④继续执行后面的语句内容
+
+示例:
+
+~~~java
+public class IfDemo {
+ public static void main(String[] args) {
+ System.out.println("开始");
+
+ // 如果年龄大于18岁, 就可以上网吧
+ int age = 17;
+
+ if(age >= 18){
+ // int a = 10;
+ System.out.println("可以上网吧");
+ }
+
+ System.out.println("结束");
+ }
+}
+~~~
+
+#### 2.2 if语句格式2(理解)
+
+~~~java
+格式:
+if (关系表达式) {
+ 语句体1;
+} else {
+ 语句体2;
+}
+~~~
+
+执行流程:
+
+①首先计算关系表达式的值
+
+②如果关系表达式的值为true就执行语句体1
+
+③如果关系表达式的值为false就执行语句体2
+
+④继续执行后面的语句内容
+
+示例:奇偶数
+
+ 任意给出一个整数,请用程序实现判断该整数是奇数还是偶数,并在控制台输出该整数是奇数还是偶数。
+
+~~~java
+public class Demo2If {
+ public static void main(String[] args) {
+ // 程序判断一个数, 是奇数还是偶数
+ int num = 9;
+
+ if(num % 2 == 0){
+ System.out.println("偶数");
+ }else{
+ System.out.println("奇数");
+ }
+ }
+}
+~~~
+
+#### 2.3 if语句格式3(理解)
+
+~~~java
+格式:
+if (关系表达式1) {
+ 语句体1;
+} else if (关系表达式2) {
+ 语句体2;
+}
+…
+else {
+ 语句体n+1;
+}
+~~~
+
+执行流程:
+
+①首先计算关系表达式1的值
+
+②如果值为true就执行语句体1;如果值为false就计算关系表达式2的值
+
+③如果值为true就执行语句体2;如果值为false就计算关系表达式3的值
+
+④…
+
+⑤如果没有任何关系表达式为true,就执行语句体n+1。
+
+示例:
+
+ 定义一个在0~100之间的变量a, 90~100优秀,80~89良好,70~79中等,60~69及格,0~59请努力加油!
+
+~~~java
+public class Demo3If {
+ public static void main(String[] args){
+ int score = 65;
+ if(score >= 90 && score <= 100){
+ System.out.println("优秀");
+ }else if (score >= 80 && score <= 89){
+ System.out.println("良好");
+ }else if (score >= 70 && score <= 79){
+ System.out.println("中等");
+ }else if (score >= 60 && score <= 69){
+ System.out.println("及格");
+ }else if (score >= 0 && score <= 59){
+ System.out.println("请努力加油");
+ }else{
+ System.out.println("成绩有误!");
+ }
+ }
+}
+~~~
+
+#### 2.4 if语句格式3案例(应用)
+
+需求:小明快要期末考试了,小明爸爸对他说,会根据他不同的考试成绩,送他不同的礼物,假如你可以控制小明的得分,请用程序实现小明到底该获得什么样的礼物,并在控制台输出。
+
+分析:
+
+ ①小明的考试成绩未知,可以使用键盘录入的方式获取值
+
+ ②由于奖励种类较多,属于多种判断,采用if...else...if格式实现
+
+ ③为每种判断设置对应的条件
+
+ ④为每种判断设置对应的奖励
+
+~~~java
+import java.util.Scanner;
+public class IfTest02 {
+ public static void main(String[] args){
+ // 1. 使用Scanner录入考试成绩
+ Scanner sc = new Scanner(System.in);
+ System.out.println("请输入您的成绩:");
+ int score = sc.nextInt();
+ // 2. 判断成绩是否在合法范围内 0~100
+ if(score >=0 && score <= 100){
+ // 合法成绩
+ // 3. 在合法的语句块中判断成绩范围符合哪一个奖励
+ if(score >= 95 && score <= 100){
+ System.out.println("自行车一辆");
+ }else if(score >= 90 && score <= 94){
+ System.out.println("游乐场一次");
+ }else if(score >= 80 && score <= 89){
+ System.out.println("变形金刚一个");
+ }else {
+ System.out.println("挨顿揍, 这座城市又多了一个伤心的人~");
+ }
+ }else{
+ // 非法的话, 给出错误提示
+ System.out.println("您的成绩输入有误!");
+ }
+ }
+}
+~~~
+
+## 作业
+
+1. 第一题 某市出租车3km起步价和计费方式:夏利3元,3km以外,每公里2.1元、富康4元,3km以外,每公里2.4元、桑塔纳5元,3km以外,每公里2.7元
+
+ ```java
+ package 作业;
+
+ import java.util.Scanner;
+
+ public class A1 {
+ private static double gls;
+
+ public static void main(String[] args) {
+ String xl ="夏利";
+ String fk ="富康";
+ String stn ="桑塔纳";
+ Scanner sc = new Scanner(System.in);// 创建扫描器
+ System.out.println("请输入车型");
+ String cx = sc.next();
+ System.out.println("需要前进多少公里");
+ double gls = sc.nextDouble();
+ double cf;
+ switch (cx) {
+ case "夏利":
+ if (gls <= 3) {
+ cf = 3;
+ System.out.println("夏利3公里起步是:" + cf + "元");
+ } else {
+ cf = gls;
+ cf = (cf - 3) * 2.1 + 3;
+ System.out.println("夏利" + gls + "公里的价格是:" + cf + "元");
+ break;
+ }
+ case "富康":
+ if (gls <= 3) {
+ cf = 4;
+ System.out.println("富康3公里起步是:" + cf + "元");
+ } else {
+ cf = gls;
+ cf = (cf - 3) * 2.4 + 4;
+ System.out.println("富康" + gls + "公里的价格是:" + cf + "元");
+ break;
+ }
+ case "桑塔纳":
+ if (gls <= 3) {
+ cf = 5;
+ System.out.println("桑塔纳3公里起步是:" + cf + "元");
+ } else {
+ cf = gls;
+ cf = (cf - 3) * 2.7 + 5;
+ System.out.println("桑塔纳" + gls + "公里的价格是:" + cf + "元");
+ break;
+ }
+ }
+ // if (cx.equals(xl)) {
+ // if (gls<=3){
+ // cf= 3;
+ // System.out.println("夏利3公里起步是:"+cf+"元");
+ // }else {
+ // cf = gls;
+ // cf -=3;
+ // cf= (cf *= 2.1)+3;
+ // System.out.println("夏利"+gls+"公里的价格是:"+cf+"元");
+ // }
+ // }else if (cx.equals(fk)){
+ // if (gls<=3){
+ // cf= 4;
+ // System.out.println("富康3公里起步是:"+cf+"元");
+ // }else {
+ // cf = gls;
+ // cf -=3;
+ // cf= (cf *= 2.4)+4;
+ // System.out.println("富康"+gls+"公里的价格是:"+cf+"元");
+ // }
+ // }else {
+ // if (gls<=3){
+ // cf= 5;
+ // System.out.println("桑塔纳3公里起步是:"+cf+"元");
+ // }else {
+ // cf = gls;
+ // cf -=3;
+ // cf= (cf *= 2.7)+5;
+ // System.out.println("桑塔纳"+gls+"公里的价格是:"+cf+"元");
+ // }
+ // }
+ }
+ }
+
+ ```
+
+2. 第二题 使用switch和if语句算出今天是今年的第几天
+
+ ```java
+ package 作业;
+
+ import java.util.Scanner;
+
+ public class A2 {
+ public static void main(String[] args) {
+ // 创建扫描器
+ Scanner sc = new Scanner(System.in);
+ int s = 0;
+ System.out.println("请输入年份");
+ int nf= sc.nextInt();
+ System.out.println("请输入月份");
+ int yf = sc.nextInt();
+ System.out.println("请输入天数");
+ int ts = sc.nextInt();
+ // 1 3 5 7 8 10 12
+ // 4 6 9 11
+ // 2
+ switch (yf){
+ case 12:
+ s += 30;
+ case 11:
+ s += 31;
+ case 10:
+ s += 30;
+ case 9:
+ s += 31;
+ case 8:
+ s += 31;
+ case 7:
+ s += 30;
+ case 6:
+ s += 31;
+ case 5:
+ s += 30;
+ case 4:
+ s += 31;
+ case 3:
+ if (nf % 4 == 0 && nf % 100 !=0 || nf %400 == 0 ){
+ s += 29;
+ }else {
+ s += 28;
+ }
+ case 2:
+ s += 31;
+ case 1:
+ s += ts;
+ }
+ System.out.println("输入的年份"+nf+","+yf+","+ts+"过了多少"+s+"天");
+ }
+ }
+
+ ```
+
+3. 第三题 用户输入一个字符,判断字符是不是字母,如果是字母判断该字母是声母还是韵母,是大写还是小写,不是字母输出“你输入的字符不是字母”
+
+ ```java
+ package 作业;
+
+ import java.util.Scanner;
+
+ public class A3 {
+ public static void main(String[] args) {
+ Scanner sc = new Scanner(System.in);
+ System.out.println("请输入一个字符");
+ char zf = sc.next().charAt(0);
+ //ascii A = 65 Z =90 a = 97 z = 122
+ if (zf>=65 & zf<=90 | zf>=97 & zf<=122){
+ System.out.println(zf+"是字母");
+ if (zf>=97 && 122>=zf){
+ System.out.println(zf+"字符是小写字母");
+ }else if (zf>=65 && 90>=zf){
+ System.out.println(zf+"字符是大写字母");
+ }
+
+ switch (zf){
+ case 'a':
+ case 'o':
+ case 'e':
+ case 'i':
+ case 'u':
+ case 'v':
+ case 'A':
+ case 'O':
+ case 'E':
+ case 'I':
+ case 'U':
+ case 'V':
+ System.out.println(zf+"字符是韵母");
+ break;
+ default:
+ System.out.println(zf+"字符是声母");
+ }
+ }else {
+ System.out.println("你输入的字符不是字母");
+ }
+ }
+ }
+
+ ```
\ No newline at end of file
--
Gitee
From 5fc50e1f1d88b32aed9c8f1a481b5507587abb55 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9E=97=E6=88=90=E9=B8=BF?= <3157164764@qq,com>
Date: Wed, 7 Dec 2022 18:51:35 +0800
Subject: [PATCH 2/4] =?UTF-8?q?=E4=BD=9C=E4=B8=9A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...57\347\232\204\344\275\277\347\224\250.md" | 254 ++++++++++++++++++
1 file changed, 254 insertions(+)
create mode 100644 "16 \346\236\227\346\210\220\351\270\277/2022126 for\345\276\252\347\216\257\343\200\201while\345\276\252\347\216\257\344\273\245\345\217\212do while\345\276\252\347\216\257\347\232\204\344\275\277\347\224\250.md"
diff --git "a/16 \346\236\227\346\210\220\351\270\277/2022126 for\345\276\252\347\216\257\343\200\201while\345\276\252\347\216\257\344\273\245\345\217\212do while\345\276\252\347\216\257\347\232\204\344\275\277\347\224\250.md" "b/16 \346\236\227\346\210\220\351\270\277/2022126 for\345\276\252\347\216\257\343\200\201while\345\276\252\347\216\257\344\273\245\345\217\212do while\345\276\252\347\216\257\347\232\204\344\275\277\347\224\250.md"
new file mode 100644
index 0000000..5efbf1e
--- /dev/null
+++ "b/16 \346\236\227\346\210\220\351\270\277/2022126 for\345\276\252\347\216\257\343\200\201while\345\276\252\347\216\257\344\273\245\345\217\212do while\345\276\252\347\216\257\347\232\204\344\275\277\347\224\250.md"
@@ -0,0 +1,254 @@
+## 1. for 循环
+
+循环: 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环 体语句,当反复 执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循 环,否则循环将一直执行下去,形 成死循环。
+
+```java
+for (初始化语句;条件判断语句;条件控制语句) {
+ 循环体语句;
+}
+```
+
+格式解释:
+
+初始化语句: 用于表示循环开启时的起始状态,简单说就是循环开始的时候什么样
+
+条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行下去
+
+循环体语句: 用于表示循环反复执行的内容,简单说就是循环反复执行的事情
+
+条件控制语句:用于表示循环执行中每次变化的内容,简单说就是控制循环是否能执行下去
+
+### 1. for循环的案例
+
+输出数据1-5和5-1
+
+```java
+public class ForTest01 {
+ public static void main(String[] args) {
+ //需求:输出数据1-5
+ for(int i=1; i<=5; i++) {
+ System.out.println(i);
+ }
+ System.out.println("--------");
+ //需求:输出数据5-1
+ for(int i=5; i>=1; i--) {
+ System.out.println(i);
+ }
+ }
+}
+
+```
+
+### 1.1 for循环的案例 求1-100的数据和以及偶数和
+
+```java
+public class ForTest03 {
+ public static void main(String[] args) {
+ //求和的最终结果必须保存起来,需要定义一个变量,用于保存求和的结果,初始值为0
+ int sum = 0;
+ //对1-100的数据求和与1-5的数据求和几乎完全一样,仅仅是结束条件不同
+ for(int i=1; i<=100; i++) {
+ //对1-100的偶数求和,需要对求和操作添加限制条件,判断是否是偶数
+ if(i%2 == 0) {
+ sum += i;
+ }
+ }
+ //当循环执行完毕时,将最终数据打印出来
+ System.out.println("1-100之间的偶数和是:" + sum);
+ }
+}
+```
+
+### 1.2 for循环的案例-水仙花数
+
+```java
+public class Demo6For {
+/*
+需求:在控制台输出所有的“水仙花数”,要求每行打印2个
+System.out.print (打印内容); 打印后不换行
+System.out.println(打印内容); 打印后换行
+分析:
+1. 定义变量count,用于保存“打印过”的数量,初始值为0
+2. 在判定和打印水仙花数的过程中,拼接空格, 但不换行,并在打印后让count变量
++1,记录打印过的数量
+ 3. 在每一次count变量+1后,判断是否到达了2的倍数,是的话,换行。
+ */
+ public static void main(String[] args){
+ // 1. 定义变量count,用于保存“打印过”的数量,初始值为0
+ int count = 0;
+ for(int i = 100; i <= 999; i++){
+ int ge = i % 10;
+ int shi = i / 10 % 10;
+ int bai = i / 10 / 10 % 10;
+ if( (ge*ge*ge + shi*shi*shi + bai*bai*bai) == i){
+ // 2. 在判定和打印水仙花数的过程中,拼接空格, 但不换行,并在打印后让
+ //count变量+1,记录打印过的数量
+ System.out.print(i + " ");
+ count++;
+ // 3. 在每一次count变量+1后,判断是否到达了2的倍数,是的话,换行
+ if(count % 2 == 0){
+ System.out.println();
+ }
+ }
+ }
+ }
+}
+```
+
+## 2 while循环
+
+while 循环的格式
+
+```java
+初始化语句;
+while (条件判断语句) {
+ 循环体语句;
+ 条件控制语句;
+}
+```
+
+while循环执行流程:
+
+①执行初始化语句
+
+②执行条件判断语句,看其结果是true还是false
+
+ 如果是false,循环结束
+
+ 如果是true,继续执行
+
+③执行循环体语句
+
+④执行条件控制语句
+
+ ⑤回到②继续
+
+### 2.1 while循环案例-珠穆朗玛峰
+
+题目需求:世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米),假如我有一张足够大的纸,它的厚 度是0.1毫米。请问,我折叠多少次,可以折成珠穆朗玛峰的高度?
+
+```java
+public class WhileTest {
+ public static void main(String[] args) {
+ //定义一个计数器,初始值为0
+ int count = 0;
+ //定义纸张厚度
+ double paper = 0.1;
+ //定义珠穆朗玛峰的高度
+ int zf = 8844430;
+ //因为要反复折叠,所以要使用循环,但是不知道折叠多少次,这种情况下更适合使用while
+//循环
+ //折叠的过程中当纸张厚度大于珠峰就停止了,因此继续执行的要求是纸张厚度小于珠峰高度
+ while(paper <= zf) {
+ //循环的执行过程中每次纸张折叠,纸张的厚度要加倍
+ paper *= 2;
+ //在循环中执行累加,对应折叠了多少次
+ count++;
+ }
+ //打印计数器的值
+ System.out.println("需要折叠:" + count + "次");
+ }
+}
+```
+
+## 3 do while循环语句
+
+格式是:
+
+```java
+初始化语句;
+do {
+ 循环体语句;
+ 条件控制语句;
+}while(条件判断语句);
+```
+
+执行流程:
+
+① 执行初始化语句
+
+② 执行循环体语句
+
+③ 执行条件控制语句
+
+④ 执行条件判断语句,看其结果是true还是false
+
+如果是false,循环结束
+
+如果是true,继续执行
+
+⑤ 回到②继续
+
+示例代码:
+
+```java
+public class DoWhileDemo {
+ public static void main(String[] args) {
+ //需求:在控制台输出5次"HelloWorld"
+ //for循环实现
+ for(int i=1; i<=5; i++) {
+ System.out.println("HelloWorld");
+ }
+ System.out.println("--------");
+ //do...while循环实现
+ int j = 1;
+ do {
+ System.out.println("HelloWorld");
+ j++;
+ }while(j<=5);
+ }
+}
+```
+
+## 4 三种循环的区别
+
+三种循环的区别
+
+ for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)
+
+do...while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后 判断)
+
+for循环和while的区别
+
+条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了
+
+ 条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束 后,该变量还可以继续使用
+
+死循环(无限循环)的三种格式
+
+```java
+// for循环的死循环格式
+for(;;){
+
+}
+// while循环的死循环格式
+while(true){
+
+}
+// do while循环的死循环格式
+do{
+
+}while(true);
+```
+
+## 5 作业
+
+1. 第一题
+
+
+
+2. 第二题
+
+
+
+3. 第三题
+
+
+
+4. 第四题
+
+
+
+5. 第五题
+
+
\ No newline at end of file
--
Gitee
From 31ece1e3413601565e9c1053bd1366d1df8bd23d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9E=97=E6=88=90=E9=B8=BF?= <3157164764@qq,com>
Date: Fri, 9 Dec 2022 13:35:19 +0800
Subject: [PATCH 3/4] =?UTF-8?q?=E4=BD=9C=E4=B8=9A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...00\345\215\225\346\225\260\347\273\204.md" | 599 ++++++++++++++++++
1 file changed, 599 insertions(+)
create mode 100644 "16 \346\236\227\346\210\220\351\270\277/2022128 Random\351\232\217\346\234\272\346\225\260\347\232\204\344\275\277\347\224\250\344\273\245\345\217\212\347\256\200\345\215\225\346\225\260\347\273\204.md"
diff --git "a/16 \346\236\227\346\210\220\351\270\277/2022128 Random\351\232\217\346\234\272\346\225\260\347\232\204\344\275\277\347\224\250\344\273\245\345\217\212\347\256\200\345\215\225\346\225\260\347\273\204.md" "b/16 \346\236\227\346\210\220\351\270\277/2022128 Random\351\232\217\346\234\272\346\225\260\347\232\204\344\275\277\347\224\250\344\273\245\345\217\212\347\256\200\345\215\225\346\225\260\347\273\204.md"
new file mode 100644
index 0000000..851367c
--- /dev/null
+++ "b/16 \346\236\227\346\210\220\351\270\277/2022128 Random\351\232\217\346\234\272\346\225\260\347\232\204\344\275\277\347\224\250\344\273\245\345\217\212\347\256\200\345\215\225\346\225\260\347\273\204.md"
@@ -0,0 +1,599 @@
+## Random
+
+概述:
+
+Random类似Scanner,也是Java提供好的API,内部提供了产生随机数的功能
+
+API后续课程详细讲解,现在可以简单理解为Java已经写好的代码
+
+使用步骤:
+
+1. 导入包
+
+ import java.util.Random;
+
+2. 创建对象
+
+ Random r = new Random();
+
+3. 产生随机数
+
+ int num = r.nextInt(10);
+
+解释: 10代表的是一个范围,如果括号写10,产生的随机数就是0-9,括号写20,参数的随
+
+机数则是0-19
+
+#### Random练习 猜数字
+
+```java
+import java.util.Random;
+import java.util.Scanner;
+
+public class A1 {
+ public static void main(String[] args) {
+ // 创建扫描器
+ Scanner sc = new Scanner(System.in);
+ // 创建随机数生成器
+ Random ran = new Random();
+ int jsq = 0;
+ int sj = ran.nextInt(90)+10;// 随机数10-99
+ fon:for (;;){
+ System.out.println("请输入一个数");
+ int a = sc.nextInt();
+ if (sj>a){
+ System.out.println("猜小了!");
+ }else if (sj max){
+ max = arr[i];
+ }
+ }
+ // 4. 循环结束后, 打印最大值.
+ System.out.println("max:" + max);
+ }
+ }
+
+ ```
+
+### 数组元素求和
+
+- 需求:键盘录入5个整数,存储到数组中,并对数组求和
+
+- 思路:
+ 1.创建键盘录入对象,准备键盘录入
+ 2.定义一个求和变量,准备记录累加后的结果
+ 3.动态初始化一个长度为5的int数组,准备存储键盘录入的数值
+ 4.将键盘录入的数值存储到数组中
+ 5.遍历数组,取出每一个元素,并求和
+ 6.输出总和
+
+- 代码实现:
+
+ ```java
+ package com.itheima.test;
+
+ import java.util.Scanner;
+
+ public class Test3Array {
+ /*
+ 需求:键盘录入5个整数,存储到数组中,并对数组求和
+
+ 思路:
+ 1.创建键盘录入对象,准备键盘录入
+ 2.定义一个求和变量,准备记录累加后的结果
+ 3.动态初始化一个长度为5的int数组,准备存储键盘录入的数值
+ 4.将键盘录入的数值存储到数组中
+ 5.遍历数组,取出每一个元素,并求和
+ 6.输出总和
+ */
+ public static void main(String[] args) {
+ // 1.创建键盘录入对象,准备键盘录入
+ Scanner sc = new Scanner(System.in);
+ // 2.定义一个求和变量,准备记录累加后的结果
+ int sum = 0;
+ // 3.动态初始化一个长度为5的int数组,准备存储键盘录入的数值
+ int[] arr = new int[5];
+ // 4.将键盘录入的数值存储到数组中
+ for(int i = 0; i < arr.length; i++){
+ System.out.println("请输入第" + (i+1) + "个整数:");
+ //arr[i] = 10;
+ arr[i] = sc.nextInt();
+ }
+
+ // 5.遍历数组,取出每一个元素,并求和
+ for (int i = 0; i < arr.length; i++) {
+ sum += arr[i];
+ }
+
+ // 6.输出总和
+ System.out.println("sum:" + sum);
+
+ }
+ }
+
+ ```
+
+### 数组基本查找【应用】
+
+- 需求:
+ 已知一个数组 arr = {19, 28, 37, 46, 50}; 键盘录入一个数据,查找该数据在数组中的索引,并在控
+ 制台输出找到的索引值。
+
+- 思路:
+ 1.定义一个数组,用静态初始化完成数组元素的初始化
+ 2.键盘录入要查找的数据,用一个变量接收
+ 3.定义一个索引变量,初始值为-1
+ 4.遍历数组,获取到数组中的每一个元素
+ 5.拿键盘录入的数据和数组中的每一个元素进行比较,如果值相同,就把该值对应的索引赋值给索引变量,并结束循环
+ 6.输出索引变量
+
+- 代码实现:
+
+ ```java
+ public static void main(String[] args) {
+ // 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);
+ }
+ }
+
+ ```
+
+## 作业
+
+1. 第一题
+
+ ```java
+ import java.util.Random;
+ import java.util.Scanner;
+
+ public class A1 {
+ public static void main(String[] args) {
+ // 创建扫描器
+ Scanner sc = new Scanner(System.in);
+ // 创建随机数生成器
+ Random ran = new Random();
+ int jsq = 0;
+ int sj = ran.nextInt(90)+10;// 随机数10-99
+ fon:for (;;){
+ System.out.println("请输入一个数");
+ int a = sc.nextInt();
+ if (sj>a){
+ System.out.println("猜小了!");
+ }else if (sjmax){
+ max=c[i];
+ }
+ }
+ System.out.println(Arrays.toString(c));
+ System.out.println(max);
+ }
+ }
+
+ ```
+
+
\ No newline at end of file
--
Gitee
From 05fb2f6618c8dd454010cd379d6f25d8b3832d5f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9E=97=E6=88=90=E9=B8=BF?= <3157164764@qq,com>
Date: Tue, 13 Dec 2022 08:14:39 +0800
Subject: [PATCH 4/4] =?UTF-8?q?=E4=BD=9C=E4=B8=9A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...35\346\255\245\345\272\224\347\224\250.md" | 140 ++++++++++++++++++
1 file changed, 140 insertions(+)
create mode 100644 "16 \346\236\227\346\210\220\351\270\277/2022129 \346\225\260\347\273\204\347\232\204\345\210\235\346\255\245\345\272\224\347\224\250.md"
diff --git "a/16 \346\236\227\346\210\220\351\270\277/2022129 \346\225\260\347\273\204\347\232\204\345\210\235\346\255\245\345\272\224\347\224\250.md" "b/16 \346\236\227\346\210\220\351\270\277/2022129 \346\225\260\347\273\204\347\232\204\345\210\235\346\255\245\345\272\224\347\224\250.md"
new file mode 100644
index 0000000..e26bf7f
--- /dev/null
+++ "b/16 \346\236\227\346\210\220\351\270\277/2022129 \346\225\260\347\273\204\347\232\204\345\210\235\346\255\245\345\272\224\347\224\250.md"
@@ -0,0 +1,140 @@
+## 数组的小结
+
+1. 数组:一种用来存放多个或一个同一数据类型数据的容器,其实就是一种特殊的变量
+
+2. 数组里存放的每一个数据,称为数组的元素。
+
+3. 为了定位每个元素,程序会给每个元素一个编号,这个编号从0开始,称为索引,注意,索引最大值,只能是长度-1 ===> length-1
+
+4. 如何得到数组的长度(也就是元素的个数):
+
+ ```java
+ // 数组名.length
+ int[] ages = {1,2,3};
+ ages.length;
+ // 数组长度什么什么用?
+ //可以用来遍历数组
+ ```
+
+
+
+5. 数组的赋值,也叫初始化
+
+ 1. 静态初始化
+
+ 1. 语法: 数据类型[] 数组名 = {元素1,元素2,元素3,……};
+
+ 2. 当定义一个数组,同时又明确知道每个元素的值的时候,边定义数组边赋值。
+
+ 3. 示例:
+
+ ```java
+ // 定义一个整数类型的数组,存放前三名各个的年龄
+ int[] ages = {18,19,20};
+ ```
+
+
+
+ 2. 动态初始化
+
+ 1. 语法:数据类型[] 数组名 = new 数据类型[数组的长度]
+
+ 2. 当要定义一个数组,但是只知道长度,却不知道每个元素具体的值的时候。用动态初始化法
+
+ 3. 动态初始化,其实是有默认值的 int[] 0 ; double[] 0.0 String[] null 【null 表示啥也没有!】
+
+ 4. 示例:
+
+ ```java
+ // 定义一个长度为3的整数类型的数组,得到 0 0 0 这么一个数组
+ int[] a = new int[3];
+ ```
+
+
+
+6. 怎么使用数组的元素(也就是取值)
+
+ 1. 语法: 数组名[索引]
+
+ 2. 示例:
+
+ ```java
+ num[1]// 表示取num这个数组中索引为1的那个元素的值,因为索引从0开始,所以这里1表示第2个元素
+ ```
+
+
+
+7. 数组的遍历:
+
+ 1. 将数组每个元素都用到一次
+
+ 2. 其实就是从索引0到数组长度-1循环一次,取出每个索引对应的值
+
+ 3. 示例,求数组中每个数的总和
+
+ ```java
+ // 普通的标签遍历方法
+ int[] num = {1,2,3};
+ sum = 0;
+ for(int i=0;imax){
+ max=a;
+ }
+ if (a