




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象程序设计流程控制 教师 张立涓 本节课主要内容 理论 分支语句 ifelse switch循环语句 for while do while实例 猜数字游戏 猜数字程序流程图 运行结果 产生随机数的方法 使用Math类的random 方法产生一个随机数 产生随机数的方法 Math类的radom 方法产生一个随机数 如 Math random 128 产生一个0 0 128 0之间的随机数 读取键盘输入字符 获取用户键盘输入字符的方法是使用System in read 方法该方法的返回值是int类型 返回的是输入数值的编码 注意 该方法只能获取单个字符 不能获取字符串 使用该方法时需要在第一行加入importjava io 语句使用该方法时需要抛出IO异常即throwsIOException If else语句 true false 语句1 布尔表达式 后续语句 语句2 修改程序 修改P33GuessNum猜数字程序提示用户输入的数字是偏大或是偏小 if语句嵌套 if语句中内嵌的语句1或语句2又是if语句的情况称为if语句的嵌套 如 if 布尔表达式1 语句1 elseif 布尔表达式2 语句2 elseif 布尔表达式m 语句m else 语句n 判断下列程序片断的输出结果 intx 7 if x 5 if x 10 System out println x 5 Java编译器总是将else与其最近为配对的if配对 Switch语句 switch语句根据表达式的结果来执行多个操作中的一个 它的语法形式如下 switch 表达式 case常量1 语句1 break case常量2 语句2 break case常量n 语句n break default 缺省处理语句break 练习 使用switch语句实现猜数字游戏并提示用户所输入的数字比原数字偏大或是偏小 判断下列程序片断是否正确 floata switch a 2 inta switch a case1 case2 System out println ok 使用switch语句时 要注意表达式必须是byte char short int类型的表达式 而不能使用浮点类型或long类型 也不能为一个字符串 知识拓展获取键盘输入字符的方法 1 获取单个字符 intnum System in read 2 获取多个字符 字符串 BufferedReaderbr newBufferedReader newInputStreamReader System in Stringstr br readLine 获取键盘输入字符的方法解释 BufferedReader是缓冲字符流类 br是该类的一个对象 实例 使用new操作符在内存中给br分配内存空间 newBufferedReader newInputStreamReader System in newInputStreamReader System in 这条语句将在屏幕输入的字符串放到br的内存空间中 System in表示屏幕输入 readLine 是br对象的一个方法 该方法按行从br的内存空间中读取字符串 修改程序 修改P33程序GuessNum 使用户可以猜 0 99 之间的数字 思考 上述猜数字游戏程序每次运行用户只能猜一次 我们能否实现这样的功能 游戏开始后 给用户三次猜数字的机会 若三次都猜错 则游戏结束 若在三次以内猜对 提示游戏成功 并结束本次游戏 循环语句 for 使用for循环语句实现猜数字游戏 使用for循环的猜数字程序流程图 运行结果 P38GuessNumFor 代码解释 1 System in read 语句用于读取屏幕输入的单个字符 用户点击回车后 系统认为读取屏幕输入结束 为了循环输入 我们使用语句 System in skip 2 跳过用户输入的回车符 2 最后一条语句if i 0 目的是实现 如果用户三次都没有猜中 即此时i 0 则显示 很遗憾 您未猜中 并显示出正确的数字 3 其中 整数变量k用于计算剩余的猜数字次数 练习 修改程序 使用while循环语句修改猜数字游戏while语句格式 while 布尔表达式 使用do while语句实现猜数字游戏 do while语句格式do while 布尔表达式 循环嵌套语句 我们通过循环语句实现了每次游戏给用户猜三次数字的机会 现在 我们对猜数字游戏的功能继续进行扩展 扩展如下功能 如果用户三次都没有猜对 已经猜对 则提示用户 是否继续玩游戏 若用户输入 Y y 则重新开始游戏 若用户输入 N n 则结束游戏 流程图 运行结果 代码解释 1 程序使用do while双重循环实现 其中外层循环条件是用户选择输入 Y 即继续玩游戏 内层循环的条件是i 0 即用户猜三次 do 外层循环 实现重新开始游戏do 内层循环 完成猜三次数字 while i 0 内层循环条件i 0 while again 外层循环条件 用户输入 y 2 内层循环中添加了偏大或者偏小的判断if guessNum trueNum System out println 很遗憾偏大了 elseSystem out println 很遗憾偏小了 3 本程序不一定使用do while实现 其他循环语句也可以实现嵌套循环 比如 可以使用for循环语句来完成上述嵌套循环 练习 使用for循环嵌套修改上述猜数字游戏 跳转语句 标号语句labelbreak语句continue语句return语句 问题 上述猜数字游戏中 若用户在游戏还没有结束时中途想退出游戏 该如何实现 使用跳转语句来修改猜数字游戏 实现这样的功能 用户可以随时输入字母 n 中止游戏 流程图 标号 标号是一个标识符 用于给某个程序块标识一个名字 其语法格式如下 label codeBlock label是标号名 用标识符表示 标号名用冒号与其后面的语句块分开 如 loop1 do 内层循环 完成猜三次数字 while i 0 内层循环条件i 0其中 loop1是标号 标号常和break continue语句一起使用 使程序的流程发生跳转 break语句 break语句的功能是中止包含break语句的程序块 其语法格式如下 break label 其中 label 是可选项 是标号名 continue语句 continue语句只能用在循环中 它的功能是使程序跳过循环体中的con
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论