高级程序设计语言3流程控制语句.ppt_第1页
高级程序设计语言3流程控制语句.ppt_第2页
高级程序设计语言3流程控制语句.ppt_第3页
高级程序设计语言3流程控制语句.ppt_第4页
高级程序设计语言3流程控制语句.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章流程控制语句 目录 3 1流程控制的定义3 2选择语句3 3循环语句3 4跳转语句3 5综合实例3 6习题 3 1流程控制的定义 通过前面的学习已经知道 Java语句是Java标识符的集合 由关键字 常量 变量和表达式构成 简单的Java语句以分号 作为结束标志 单独的一个分号被看成一个空语句 空语句不做任何事情 复合结构的Java语句以大括号 作为结束标志 而流程控制语句是用来控制程序中各语句执行顺序的语句 是程序中非常关键和基本的部分 流程控制语句可以把单个的语句组合成有意义的 能完成一切功能的小逻辑模块 3 1 1基本流程控制结构人们习惯将java基本控制结构分为了三个部分 分别是 顺序结构 选择结构 循环结构 3 1 2java语句的种类Java具有多种常用的流程控制语句 分属于不同的基本控制结构中 下面通过表格的形式呈现每一种语句 如表3 1流程控制语句 3 2选择语句 3 2 1if else条件语句1 if语句If语句的基本形式为 if condition statement 2 if else语句if else语句的基本形式为 if condition statement if分支elseanotherstatement else分支 3 if else if语句if else if语句是条件语句中最复杂也是最常见的情况 这种情况下有多个条件的判断 其基本形式如下 if condition statement1 elseif condition statement2 elseif condition statement3 elsestatementn 实例3 1 Condition1 javapublicclassCondition1 publicstaticvoidmain String args doublemySales 10000 进入if条件选择if mySales 8000 执行if语句System out println 去商场购物 System out println 请朋友吃饭 System out println 出国旅游 运行结果 去商场购物请朋友吃饭出国旅游 实例3 2 Condition2 javapublicclassCondition2 publicstaticvoidmain String args doublemySales 6000 if mySales 8000 执行if语句System out println 去商场购物 System out println 请朋友吃饭 System out println 出国旅游 执行else语句else System out println 努力工作 运行结果 努力工作 实例3 3 Condition3 javapublicclassCondition3 publicstaticvoidmain String args doublemySales 6000 if mySales 8000 执行if语句System out println 去商场购物 System out println 请朋友吃饭 System out println 出国旅游 执行else语句elseif mySales 5000 运行结果 外出逛街请朋友喝咖啡 3 2 2switch语句Switch语句也是选择语句的一部分 它的特点是多分支 本质上来说 这种多分支语句结构实际上也是一种if else结构 不过它使得在编码时很容易写出判断条件 特别是条件有很多选项而且比较简单的时候 switch的语法结构如下 switch expression case1 statement1 break case2 statement2 break case3 statement3 break casen statementn break default statements 3 3循环语句 3 3 1while语句while循环语句是java控制语句中最简单的一种循环语句 while语句的一般形式如下 while condition statement 实例3 5 Sum javaclassSum publicstaticvoidmain Stringargs inti sum 0 设循环初值i 1 设循环条件为i 100while i 100 在循环体中执行i 当i的值到101时 循环条件即为falsesum i i System out println 1到100的和为 sum 运行结果 1到100的和为 5050 3 3 2do while语句do while语句和while语句略有不同 do while语句是先进入循环体 执行一次结束后才进行条件表达式的判断 因此比起while循环来说 多执行了一次循环 比如说 while循环如果开始条件为假 则循环一次都不执行 而do while循环中可以直接进入循环执行一次 然后才判断条件 如果为假 则推出 循环执行了一次 do while语句的一般形式如下 do statement while condition 实例3 6 Sum2 javaimportjava util Scanner classSum2 publicstaticvoidmain Stringargs Scannersc newScanner System in intn sum 0 System out println 请输入数据 输入0结束 do while循环体开始 直接进入循环体do n sc nextInt sum n System out println 当前的和是 sum while n 0 System out println 结束 运行结果 请输入数据 输入0结束 2当前的和是 24当前的和是 68当前的和是 1416当前的和是 3032当前的和是 620当前的和是 62结束 3 3 3for语句for循环语句可以说是整个java程序设计中最常见用途最多的语句 for语句指的是明确了循环次数而进行的循环语句 for循环语句在第一次反复之前要进行初始化 随后 它会进行条件测试 而且在每一次反复的时候 进行某种形式的 步进 for语句的一般形式如下 for statement statement statement 循环体 实例3 7 打印九九乘数表 Multiply javapublicclassMultiply publicstaticvoidmain String args 第一层for循环for inti 1 i 9 i 第一层for循环for intj 1 j i j 循环体System out print i j i j System out println 3 4跳转语句 3 4 1break语句break语句的作用是使程序的执行流程从一个语句块内部转移出去 break语句只在switch语句和循环语句中使用 目的是从switch语句的case子句中跳出 或者从循环体中跳出 break语句的一般形式为 break 实例3 9 Break javapublicclassBreak publicstaticvoidmain Stringargs Stringoutput inti for i 1 i 10 i if i 8 当计数为8的时候结束break output i output nBrokeoutofloopati i System out println output 运行结果 1234567Brokeoutofloopati 8 3 4 2continue语句continue语句和break语句都是中断语句 但是略有不同之处 continue语句只能在循环语句中使用 并且它的目的是终止当前这一轮循环 跳过本次循环剩余的语句 直接进入下一轮循环 continue语句的一般形式为 continue 当然也可以同break语句的第二种用法一样 跳转到指定的循环处 continueBLOCK 实例3 11 Continue javapublicclassContinue publicstaticvoidmain Stringargs Outer for inti 0 i 8 i if i 3 continue语句实现终止本次循环continueOuter System out println i i 3 4 3return语句跳转语句中的最后一个语句 也是Java语言流程控制中的最后一个是return语句 return语句常用 而且简单 返回语句return是从当前的方法中退出 return语句和continue语句一样也是有两种用法 return returnexpression 实例3 12 Return javapublicclassReturn publicstaticvoidmain Stringargs 调用sum方法intresult sum 8 12 System out println sum 8 12 result staticintsum inta intb 返回值return a b 运行结果 sum 8 12 20 3 5综合实例 实例3 13 Calculate java经典习题 输入某年某月某日 判断这一天是这一年的第几天 importjava util publicclassCalculate publicstaticvoidmain String args 声明变量并赋值intyear month day intdays 0 intd 0 inte inputfymd newinput do while循环do e 0 System out print 输入年 year fymd input System out print 输入月 month fymd input System out print 输入天 day fymd input 条件语句if year12 day31 System out println 输入错误 请重新输入 e 1 while e 1 for循环for inti 1 i month i 嵌套的switchswitch i case1 case3 case5 case7 case8 case10 case12 days 31 break case4 case6 case9 case11 days 30 break case2 if year 400 0 year 4 0 System out println year month day 是这年的第 d day 天 classinput publicintinput intvalue 0 Scanners newScanner System in value s nextInt returnvalue 运行结果 输入年 1988输入月 11输入天 71988 11 7是这年的第312天 3 6习题 4 编写两个方法 分别求两个整数的最大公约数和最小公倍数 在主方法中由键盘输入两个整数并调用这两个方法 最后输出相应的结果 5 经典习题 请输入星期几的第一个字母来判断一下是星期几 如果第一个字母一样 则继续判断第二个字母 4 importjava io publicclasstest publicstaticvoidmain String args inta 0 System out print 请输入数a try BufferedReaderbr newBufferedReader newInputStreamReader System in a Integer parseInt br readLine catch IOExceptione intb 0 System out print 请输入数b try BufferedReaderbr newBufferedReader newInputStreamReader System in b Integer parseInt br readLine catch IOExceptione if a 0 b 0 System out println 输入不合法 System out println 最大公约数为 Gys a b System out println 最小公倍数为 Gbs a b publicstaticintGys inta intb intr 0 if a b r a b a a r inti 1 while i 0 i a b a b b i returna returnab a 运行结果 请输入数a 36请输入数b 8最大公约数为 4最小公倍数为 72 publicstaticintGbs inta intb intab a b intr 0 if a b r a b a a r inti 1 while i 0 i a b a b b i 5 importjava util publicclasstest publicstaticvoidmain String args getChartw newgetChar System out println 请输入星期的第一个大写字母 charch tw getChar switch ch case M System out println Monday break case W System out print

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论