diff --git "a/14 \346\235\216\344\277\212\345\205\264/20221204 for\345\276\252\347\216\257.md" "b/14 \346\235\216\344\277\212\345\205\264/20221204 for\345\276\252\347\216\257.md" new file mode 100644 index 0000000000000000000000000000000000000000..4c76b9c0de9b6b101c9bcf18f3b3c46ecbf1a0c7 --- /dev/null +++ "b/14 \346\235\216\344\277\212\345\205\264/20221204 for\345\276\252\347\216\257.md" @@ -0,0 +1,70 @@ +### for循环 + +###### 2.1循环语句-for循环 + +- 循环 + +循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体句,当反复 执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形 成死循环。 + +- 格式 + +```java +for (初始化语句;条件判断语句;条件控制语句){ + 循环语句: +} +``` + +- 格式解释 + +​ 1.初始化语句:用于表示循环开启时的起始状态, “就是 循环开始的时候 什么样” + +​ 2. 条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行下去 + +​ 3. 循环体语句: 用于表示循环反复执行的内容,简单说就是循环反复执行的事情 + +​ 4.条件控制语句:用于表示循环执行中每次变化的内容,简单说就是控制循环是否能执行下去 + + ###### count (计数器) + +##### 1.让用户输入一个数字,根据这个数字,循环输出"我爱学习,我爱 java",比如,用户输入数字 9 就在控制台输出9行"我爱学习,我爱 java" + +```java +import java.util.Scanner; + +public class D1 { + 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 javax.swing.text.Style; +import java.util.Scanner; +// 用户分别输入数 a,数b,让程序实现从a 开始循环到b.输出"有生之年,能看到中国队出线吗?" +public class D2 { + public static void main(String[] args) { + int j=0; + Scanner sc = new Scanner(System.in); + System.out.println("请输入开始值"); + int a = sc.nextInt(); + System.out.println("请输入结束值"); + int b= sc.nextInt(); + for (int i =a;iwhile语句 结构 + +```java +完整格式 +初始化语句 +while (条件判断语句){ + 循环体语句; + 条件控制语句; +} +``` + +##### while 语句执行流程 + +①执行初始化语句 + +②执行条件判断语句,看其结果是true还是false + + 如果是false,循环结束 + + 如果是true,继续执行 + +③执行循环体语句 + +④执行条件控制语句 + +⑤回到②继续 + +##### while基础语句 + +```java +int j =1 +while (j<=5){ + System,out,println("输出语句") + j++ +} +``` + +#### 循环细节 + +###### 循环语句-do while + +完整格式 + +(不管是否成立都是会执行一次) + +```java +初始化语句; +do { +循环体语句; +条件控制语句; +}while(条件判断语句); +``` + +##### 执行流程 和 while执行流程一毛一样 + +① 执行初始化语句 + +② 执行循环体语句 + +③ 执行条件控制语句 + +④ 执行条件判断语句,看其结果是true还是false + +如果是false,循环结束 + +如果是true,继续执行 + +⑤ 回到②继续 + +###### 示例代码 + +```java +int i=1 + do{ + System.out.println ("hello word"); + i++; + }while(i<=3); +``` + +###### 三种循环的区别 + +for 和 while 循环都是先判断条件是否成立,然后决定是否执行循环体(先判断后执行) + +do-while先执行一次循环体,然后再判断条件是否成立,是否继续执行循环体(先执行后判断) + +###### for循环和while的区别 + + 条件控制语句所控制的自增变量,因为归属for 循环结束后,就不能再次被访问到了 + + 条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束 + +后,该变量还可以继续使用 + +###### 死循环(三种格式) + +1.for (;;){} + +2.while (true){} + +3.do {} while (true) + +##### 死循环 + +```java +for死循环格式 : +for(;;){ +}//基本格式要保留 +while死循环格式 : +while(true){ +} +do..while死循环格式 : +do{ +}while(true); +``` + +###### 跳转控制语句 + +跳转控制语句(break)///可以在switch 里用 + +​ 跳出循环 结束循环 + +跳转控制语句( continue) + + 跳出本次循环,继续下次循环 + +​ continue 只能在循环当中使用 + +```java +/* +continue : 跳过某次循环体内容的执行 +注意:使用是基于条件控制, 在循环内部使用. +需求: 模拟电梯上行的过程 1-24层, 4层不停. +*/ +``` + +###### break + +```java +/* +break : 终止循环体内容的执行 +注意:使用是基于条件控制的 +break语句只能在循环和switch中进行使用. +*/ +``` + +#### Random 随机数 + +1. RandonScanner(扫描器)很相似,也是Java提供好的AP 内部提供产生的随机数 + +​ Java已经写好的代码 + +###### 使用步骤 + +1. 导入包 + +import java.util.Random; + +2. 创建对象 + +Random r = new Random(); + +3. 产生随机数 + +int num = r.nextInt(10); + +解释: 10代表的是一个范围,如果括号写10,产生的随机数就是0-9,括号写20,参数的随 + +机数则是0-19 + +求555555的约数中最大的三位数 + +```java +public class D3 { + public static void main(String[] args) { + int j=555555; + int i; + int k = 0; + //倒叙输出,取第一个,用break;跳出 + for (i = 999; i >= 100; i--) { + k=j%i; + if(k==0){ + System.out.println(i); + break; + } + } + } +} +``` + +猜数字游戏,由系统随机生成一个随机数字(0-99)之间,用户去猜测,如果太大了系统中将提示你猜的数字太大了,太小则提示”数字太小了“。 + +```java +import java.util.Random; +import java.util.Scanner; + +public class D4 { + public static void main(String[] args) { + Random r =new Random(); + Scanner sc= new Scanner(System.in); +// System.out.println("请猜一猜这个数字是什么"); + int num=r.nextInt(100); + int count =0; + while (true){ + count++; + System.out.println("请猜一猜这个数字是什么"); + int um = sc.nextInt(); + if (um>num){ + System.out.println("猜大了呀 往小了去"); + }else if (um1 && count<=6 && um==num){ + System.out.println("你很聪明"); + break; + }else { + System.out.println("猜对了!"); + System.out.println("你一共猜了"+count+"次"); + System.out.println("笨蛋你是真的有点小笨笨哦"); + break; + + } + } + } +} +``` + diff --git "a/14 \346\235\216\344\277\212\345\205\264/Java\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232.md" "b/14 \346\235\216\344\277\212\345\205\264/\345\237\272\347\241\200\350\257\255\346\263\225.md" similarity index 100% rename from "14 \346\235\216\344\277\212\345\205\264/Java\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232.md" rename to "14 \346\235\216\344\277\212\345\205\264/\345\237\272\347\241\200\350\257\255\346\263\225.md"