From fa4033b575ead6cb5a45956578c0b6cbddca4dd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=91=A8=E5=8E=9A=E8=BE=B0?= Date: Sun, 4 Dec 2022 14:33:22 +0800 Subject: [PATCH 1/2] =?UTF-8?q?2022=E5=B9=B412=E6=9C=884=E6=97=A5=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20221204 for\345\276\252\347\216\257.md" | 96 +++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 "53 \345\221\250\345\216\232\350\276\260/20221204 for\345\276\252\347\216\257.md" diff --git "a/53 \345\221\250\345\216\232\350\276\260/20221204 for\345\276\252\347\216\257.md" "b/53 \345\221\250\345\216\232\350\276\260/20221204 for\345\276\252\347\216\257.md" new file mode 100644 index 0000000..7146fec --- /dev/null +++ "b/53 \345\221\250\345\216\232\350\276\260/20221204 for\345\276\252\347\216\257.md" @@ -0,0 +1,96 @@ +# for循环 + +## 笔记 + +循环: + +循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环 + +体语句,当反复 执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循 + +环,否则循环将一直执行下去,形 成死循环。 + +--- + +for循环格式: + +```java +for (初始化语句;条件判断语句;条件控制语句) { +循环体语句; +} +``` + +* 格式解释: + +初始化语句: 用于表示循环开启时的起始状态,简单说就是循环开始的时候什么样 + +条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行下去 + +循环体语句: 用于表示循环反复执行的内容,简单说就是循环反复执行的事情 + +条件控制语句:用于表示循环执行中每次变化的内容,简单说就是控制循环是否能执行下去 + + + +* 执行流程: + +①执行初始化语句 + +②执行条件判断语句,看其结果是true还是false + + 如果是false,循环结束 + + 如果是true,继续执行 + +③执行循环体语句 + +④执行条件控制语句 + +⑤回到②继续 + +--- + +## 作业 + +1. 让用户输入一个数字,根据这个数字,循环输出"我爱学习,我爱java",比如,用户输入数字 9 就在控制台输出9行"我爱学习,我爱java" + + ```java + import java.util.Scanner; + + public class for循环 { + public static void main(String[] args) { + Scanner sc=new Scanner(System.in); + System.out.println("请输入您要循环的次数:"); + int times=sc.nextInt(); + for (int i =1;i<=times;i++){ + System.out.println(i+"、我爱学习,我爱JAVA"); + } + } + } + + ``` + + + +2. 用户分别输入数 a,数b,让程序实现从a 开始循环到b.输出"有生之年,能看到中国队出线吗?" + + ```java + import java.util.Scanner; + + public class for循环2 { + public static void main(String[] args) { + Scanner sc1 = new Scanner(System.in); + System.out.println("请输入您要从几开始循环"); + int num1 = sc1.nextInt(); + Scanner sc2 = new Scanner(System.in); + System.out.println("请输入您要循环几次"); + int num2 = sc2.nextInt(); + for (int i = num1; i <= num2; i++) { + System.out.println(i + "、有生之年,能看到中国队出线吗?"); + } + } + } + + ``` + + \ No newline at end of file -- Gitee From f2cbea0eddc577c2bbd3b3a491102e77ceb3b76c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=91=A8=E5=8E=9A=E8=BE=B0?= Date: Tue, 6 Dec 2022 14:35:32 +0800 Subject: [PATCH 2/2] =?UTF-8?q?2022=E5=B9=B412=E6=9C=886=E6=97=A5=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20221205 while\345\276\252\347\216\257.md" | 219 ++++++++++++++++++ 1 file changed, 219 insertions(+) create mode 100644 "53 \345\221\250\345\216\232\350\276\260/20221205 while\345\276\252\347\216\257.md" diff --git "a/53 \345\221\250\345\216\232\350\276\260/20221205 while\345\276\252\347\216\257.md" "b/53 \345\221\250\345\216\232\350\276\260/20221205 while\345\276\252\347\216\257.md" new file mode 100644 index 0000000..23739c2 --- /dev/null +++ "b/53 \345\221\250\345\216\232\350\276\260/20221205 while\345\276\252\347\216\257.md" @@ -0,0 +1,219 @@ +# while循环,do-while + +## 笔记 + +#### while循环完整格式: + +```java +初始化语句; +while (条件判断语句) { + 循环体语句; + 条件控制语句; +} +``` + +while循环执行流程: + +①执行初始化语句 + +②执行条件判断语句,看其结果是true还是false + + 如果是false,循环结束 + + 如果是true,继续执行 + +③执行循环体语句 + +④执行条件控制语句 + +⑤回到②继续 + +### 循环语句-do-while循环 + +完整格式: + +```java +初始化语句; +do { + 循环体语句; + 条件控制语句; +}while(条件判断语句); +``` + +执行流程: + +① 执行初始化语句 + +② 执行循环体语句 + +③ 执行条件控制语句 + +④ 执行条件判断语句,看其结果是true还是false + +如果是false,循环结束 + +如果是true,继续执行 + +⑤ 回到②继续 + +### 三种循环的区别 + +##### 三种循环的区别 + +*for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行) + +*do...while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后 + +判断) + +#### for循环和while的区别 + +*条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能 + +再次被访问到了 + +*条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束 + +后,该变量还可以继续使用 + +#### 死循环(无限循环)的三种格式 + +1. for(;;){} + +2. while(true){} + +3. do {} while(true); +### 死循环 + +```java +for死循环格式 : +for(;;){ + +} + +while死循环格式 : +while(true){ + +} + +do..while死循环格式 : + +do{ + +}while(true); +``` + +### 跳转控制语句 + +跳转控制语句(break) + +跳出循环,结束循环 + +跳转控制语句(continue) + +跳过本次循环,继续下次循环 + +注意: continue只能在循环中进行使用! + +### Random (重点) + +#### 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 + +--- + +## 作业 + +1、 + +```java +public class 求约数 { + public static void main(String[] args) { +// 题目:求555,555的约数中最大的三位数 +// 提示:最大的三位数介于100~999之间, +// 根据题意,求其中最大的,所以需要从大到小循环。 + int min = 100; + int max = 999; + int num = 555555; + while (min <= max) { + if (num % max == 0) { + System.out.println("最大的因数是"+max); + break;//跳出循环 + } + max--; + } + } +} +``` + +2、 + +```java +import java.util.Random; +import java.util.Scanner; + +public class 猜数字游戏 { + public static void main(String[] args) { + //2.猜数字游戏。由系统随机生成一个随机(数字(0~99)之间, + // 生成方法为 int num=new Random(0.nextInt(100)。 + // 用户去猜测,如果太大,系统将提示“你猜的数字太大了!再猜”, + // 太小则提示“你猜的数字太小了,再猜”,猜中则提示“恭喜你,猜对了!”。 + //猜数字的过程中需要统计用户猜测次数,如果用户一次性猜对, + // 提示“你太厉害了,-次就猜对”,2~6 次提示“你很聪明!”, + // 6 次以上才猜中的话,提示“笨笨,你猜这么多次!”。 + Random ran = new Random(); + int guest = ran.nextInt(100); + int time = 0; + while (true) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入你猜的数字"); + int num = sc.nextInt(); + if (num > guest) { + System.out.println("你猜大了"); + } + if (num < guest) { + System.out.println("你猜小了"); + } + time++; + if (num == guest) { + System.out.println("恭喜你!答对了!\n你一共猜了" + time + "次"); + if (time == 1) { + System.out.println("你太厉害了,一次就猜对了!"); + } else if (time <= 6 || time > 1) { + System.out.println("你很聪明!"); + } + if (time > 6) { + System.out.println("笨笨,你猜这么多次!"); + } + break; + } + + } + } +} + +``` + -- Gitee