diff --git "a/47 \346\250\212\345\260\217\351\203\255/20221204 java\347\232\204\345\276\252\347\216\257\350\257\255\345\217\245\357\274\232for\345\276\252\347\216\257.md" "b/47 \346\250\212\345\260\217\351\203\255/20221204 java\347\232\204\345\276\252\347\216\257\350\257\255\345\217\245\357\274\232for\345\276\252\347\216\257.md" new file mode 100644 index 0000000000000000000000000000000000000000..0b828711a7071d9964c8cec53056b1fb5f80ccf3 --- /dev/null +++ "b/47 \346\250\212\345\260\217\351\203\255/20221204 java\347\232\204\345\276\252\347\216\257\350\257\255\345\217\245\357\274\232for\345\276\252\347\216\257.md" @@ -0,0 +1,79 @@ +# 循环语句:for循环 + +循环: + +循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环 + +体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循 + +环,否则循环将一直执行下去,形成死循环。 + +for循环格式:for (初始化语句;条件判断语句;条件控制语句){ + +​ 循环体语句; } + +格式解释: + +初始化语句: 用于表示循环开启时的起始状态,简单说就是循环开始的时候什么样 + +条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行下去 + +循环体语句: 用于表示循环反复执行的内容,简单说就是循环反复执行的事情 + +条件控制语句:用于表示循环执行中每次变化的内容,简单说就是控制循环是否能执行下去 + +执行流程: + +①执行初始化语句 + +②执行条件判断语句,看其结果是true还是false + + 如果是false,循环结束 + + 如果是true,继续执行 + +③执行循环体语句 + +④执行条件控制语句 + +⑤回到②继续 + + + +# 作业 + +1.让用户输入一个数字,根据这个数字,循环输出"我爱学习,我爱java",比如,用户输入数字 9 就在控制台输出9行"我爱学习,我爱java" + +```java +import java.util.Scanner; + +public class zy11 { + public static void main(String[] args) { + Scanner sc=new Scanner(System.in); + System.out.println("请输入一个数字"); + int a = sc.nextInt(); + for (int i=1;i<=a;i++){ + System.out.println("我爱学习,我爱Java"); + } + } +} +``` + +2.用户分别输入数 a,数b,让程序实现从a 开始循环到b.输出"有生之年,能看到中国队出线吗?" + +```java +import java.util.Scanner; + +public class zy12 { + public static void main(String[] args){ + Scanner sc=new Scanner(System.in); + System.out.println("输入一个数字"); + int a = sc.nextInt(); + System.out.println("输入一个数字"); + int b = sc.nextInt(); + for (int i=a;i<=b;i++){ + System.out.println("有生之年,能看到中国队出线吗?"); + } + } +} +``` \ No newline at end of file diff --git "a/47 \346\250\212\345\260\217\351\203\255/20221206 java\344\270\255\347\232\204while\345\276\252\347\216\257\345\222\214do while\345\276\252\347\216\257.md" "b/47 \346\250\212\345\260\217\351\203\255/20221206 java\344\270\255\347\232\204while\345\276\252\347\216\257\345\222\214do while\345\276\252\347\216\257.md" new file mode 100644 index 0000000000000000000000000000000000000000..0a218d265d7a02de3e54387eb04b1bc511b538fd --- /dev/null +++ "b/47 \346\250\212\345\260\217\351\203\255/20221206 java\344\270\255\347\232\204while\345\276\252\347\216\257\345\222\214do while\345\276\252\347\216\257.md" @@ -0,0 +1,188 @@ +# while循环 + +### 循环语句-while循环 + +while循环完整格式:初始化语句; + +​ while (条件判断语句) { + +​ 循环体语句; + +​ 条件控制语句; } + +while循环执行流程: + +①执行初始化语句 + +②执行条件判断语句,看其结果是true还是false + +​ 如果是false,循环结束 + +​ 如果是true,继续执行 + +③执行循环体语句 + +④执行条件控制语句 + +⑤回到②继续 + +### 循环语句-dowhile循环 + +完整格式:初始化语句; + +​ 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); + +### 死循环 + +死循环格式: + +1.for死循环格式 : for(;;){ } + +2.while死循环格式 : while(true){ } + +3.do..while死循环格式 : do{ }while(true); + +### 跳转控制语句 + +跳转控制语句(break) + + 跳出循环,结束循环 + +跳转控制语句(continue) + +跳过本次循环,继续下次循环 + +注意: continue只能在循环中进行使用! + +# 课堂笔记 + +while当......的时候: + +1.while前面要有一个初始变量; + +2.判断这个变量是否满足条件; + +3.如果前面的条件满足,就执行{}里的代码,{}代码就是重复的代码; + +4.改变变量a的语句,最终目的是让条件不成立 + +do while: + +起码会执行一次,不论结果是否满足 + +switch里阻止穿透,在循环里,表示中止循环,结束循环 + +continue跳过本次循环,继续下一次 + +# 作业 + + + +#### 1.求555 555的约数中最大的三位数。提示:最大的三位数介于100~999之间,根据题意,求其中最大的,所以需要从大到小循环。 + +```java +public class zy14 { + public static void main(String[] args) { + double a = 555555; + long b = 0; + for (long i = 1; i <= 555555; i++) { + if (a % i == 0 && i > 99 && i < 1000) { + while (i > b) { + b = i; + } + } + } + System.out.println(b); + } +} +``` + + + +#### 2.猜数字游戏。由系统随机生成一个随机(数字(0~99))之间,生成方法为int num=new Random().nextInt(100)。用户去猜测,如果太大,系统将提示“你猜的数字太大了!再猜”,太小则提示“你猜的数字太小了,再猜”,猜中则提示“恭喜你,猜对了”。 + +猜数字的过程中需要统计用户猜测次数,如果用户一次性猜对,提示“你太厉害了,一次就猜对”,2~6次提示“你很聪明!”,6次以上才猜中的话,提示“笨笨,你猜这么多次!” + +```java +import java.util.Random; +import java.util.Scanner; + +public class zy15 { + public static void main(String[] args) { + + Scanner sc = new Scanner(System.in); + + Random random = new Random(); + int num = random.nextInt(100); + System.out.println("随机数是:" + num); + int i=1; + while(true){ + System.out.println("请输入0-99之间的数字"); + int x = sc.nextInt(); + + if(xnum){ + System.out.println("你猜的数字太大了!再猜"); + }else{ + System.out.println("恭喜你,猜对了!"); + if(i==1){ + System.out.println("你太厉害了,一次就才猜对"); + break; + }else if(i>=2 && i<=6){ + System.out.println("你很聪明!"); + break; + }else{ + System.out.println("笨笨,你猜这么多次!"); + break; + } + } + i++; + } + } +} +```