java学习笔记day04
1,程序流程控制概述
···顺序结构:程序默认,按照代码先后顺序
···分支结构:选择
···循环结构:重复执行
2,分支结构
··· if分支:根据判定的结果真假决定执行某个分支的代码;如医生判断病情,发红包判断金额是否足够
···三种格式:
···switch分支
匹配条件去执行分支,适合做值匹配的分支选择,结构清晰,格式良好
eg:
···switch注意事项:
eg:表达式类型支持
···switch穿透性:
如果代码执行到没有写break的case块,执行完后将直接进入下一个case块执行代码(而且不会进行任何匹配),直到遇到break才跳出分支,这就是switch的穿透性。
穿透性的作用:
存在多个case分支的功能代码是一样时,可以用穿透性把流程集中到同一处处理,这样可以简化代码。
3,循环结构
普通一万句同样的代码每句执行一次和一句代码执行一万次 的区别
···for循环
??案例一:求和
需求:求1-5之间的数据和,并把求和结果在控制台输出。
??案例二:求奇数和
需求:求1-10之间的奇数和,并把求和结果在控制台输出。
方式1:进入循环,通过if判断其是否是奇数
方式2:定义for循环,使其能够依次产生:1、3、5 、7 、9。
找偶数同理:
i%2==0 或者 方式2中i+=2,int i=2;
??案例三:水仙花数
问:还要知道水仙花的个数:
答:在循环外定义一个count计数
···while循环
while和for循环的区别:
??案例:
需求: 世界最高山峰是珠穆朗玛峰(8848.86米=8848860毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。请问,折叠多少次,可以折成珠穆朗玛峰的高度。
总结:
···do while 循环
eg:刷票软件
第一次刷票,它会直接抢票,不会先判断你是否还有票
eg:
··· 三种循环的区别总结:
···死循环
一直循环的执行下去,如果没有干预不会停止下来。
PS:死循环同时只能有一个,如上所示的for 和while以及do while只能运行一个,否则报错
??案例:密码验证
需求:系统密码是520,请用户不断的输入密码验证,验证不对输出:密码错误,验证成功输出:欢迎进入系统,并停止程序。
···循环嵌套
循环中又包含循环
嵌套循环的特点:
外部循环每循环一次,内部循环全部执行完一次。
??案例:循环嵌套
需求:在控制台使用 * 打印出4行5列的矩形
4,跳转关键字:break,continue
PS:
break只能用于结束所在循环, 或者结束所在switch分支的执行。不能结束if分支哦
continue : 只能在循环中进行使用。
5,随机数Random的使用(包前不包后)
PS:
执行一段代码的循环,选中代码,ctrl+alt+T,会自动生成循环代码架构
随机生成13个1-10之间的数:
随机生成10个3-17之间的数:
随机生成10个65-91的数:
??案例:猜数字游戏
需求:随机生成一个1-100之间的数据,提示用户猜测,猜大提示过大,猜小提示过小,直到猜中结束游戏
6,程序流程控制大总结:
思维导图:
链接:https://pan.baidu.com/s/1PdRr39mLitcB7TXq5FJvTw
提取码:dd8m
测试了一下这个方法,但是有错误:
应该是目前的版本已经不支持这个方法,换jdk也许是一个办法。
看老师的没有问题,jdk是17.0.1,我 是17.0.3,可能是这个区别导致的。
over(2022.5.5 20:01)