首先回顾下关于API和键盘录入的开发步骤:
- API Application Programming Interface,应用程序编程接口。
- Java写好的程序,可以直接调用。
2.键盘录入的开发步骤
导包:import java.util.Scanner;
抄写代码得到扫描器对象:Scanner sc = new Scanner(System.in)
抄写代码等待接收用户输入的数据:sc.nextlnt() 、sc.next()
P39 流程控制语句
主要是3种结构,顺序结构(程序默认流程),分支结构(if switch),还有循环结构(for while do..while)
模拟现实世界的三种形式
前面写的都是顺序结构, 程序默认:开始→语句A→语句B→语句C→结束
P40 分支结构 if Switch Switch 的穿透性
If分支:根据判定结果(true or false)决定执行某个分支的代码
第三种模式做出的尝试:
输出结果为优秀
接下来结合键盘录入系统做一个尝试
这里出现了一个明显错误
问题出在 double weight = sc.nextInt( ); 这里应该改成double
实际输出结果如下:
P40.2 Switch 分支
匹配条件去执行分支,适合做值匹配的分支选择,结构清晰,格式好
IDEA测试:
If Switch分支各自适合做什么业务场景
If其实在功能上远远的强大于 Switch
If适合做区间匹配
Switch适合做的是值匹配的分支选择、代码优雅。
Switch Warning:
- 表达式类型只能是byte,short,int,char,JDK5开始支持枚举,JDK7支持String、不支持double、float、long(范围太大了)。
- Case 给出的值不允许重复,且只能是字面量的,不能是变量的(预防变量变成case重复值)
- 如果不写break , 否则就会出现穿透现象。
Switch 的穿透性
Switch 会在没写break 的情况下发生穿透现象
Switch 穿透性可以解决的问题:存在多个case 分支的功能代码是一样时,可以用穿透性把流程集中到同一处处理,以起到简化代码的作用。
P41 循环结构
先判断 后循环 条件允许就循环 条件不符合就跳出循环
使用循环控制输出1-100 在循环外定义变量sum累加数据
有几个问题需要注意:
- 立方是要3次相乘
- 注意 if 的三种使用方法
P41 While 循环
While和for循环的 区分:
While循环的格式,执行流程是什么样的?
初始化语句:
While(循环条件){
循环体语句;
迭代语句;
}
什么时候用for循环 什么时候用 while 循环
- 功能上完全一样,for能解决的问题 while也可以解决
- 使用规范是:知道循环几次;使用for;不知道循环几次建议使用:while
P43 Do-while循环
比较特殊的一种循环 特点:一定会先执行一次循环体
三种循环 do while do-while 循环
需要再强调一下:for循环中定义的变量在for循环结束之后就死掉了
P44死循环 循环嵌套 break continue
一直循环重复执行下去,如果没干预就不会停下来。开发服务器使用的较多。
写法
死循环 Test
使用死循环完成对密码的测试:
循环嵌套:
也就是循环套循环,引入多个需要数值变动和判断的变量,外部循环每完成一次,内部循环已经完成成所有循环。
两个重要的跳出关键字:
Break-跳出并结束当前所在循环的执行;
Continue-用于跳出当前循环的当次执行,进入下一次循环。
Warning:
Break:只能用于结束所在循环,或者结束所在Switch分支的执行;
Continue:只可以在循环中使用
P45 随机数的产生和使用-Random类 小项目-猜数字游戏
结合循环 判断 break continue的内容
Random 随机数类生成需要多少步?
- 导包 import.java.util.Random;
- 创建对象 Random r =new Random();
- 调用next int 获取数据 int number = r.nextint(10);
随机数游戏:
反思:
- 记牢怎么调用Random类
- 导包放在while(true)之前,键入放在while(true)之后