




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4讲控制结构 语句和块分支 选择 结构if if else switch循环结构while for do while跳转语句break continue return JAVA语言的三种基本控制结构 语句 程序中的语句可以分为两种类型 简单语句和流程控制语句 Java中常用的有下面几类语句 声明语句 如 chara A 表达式语句 如 i System out println Hello 分支语句 如 if else switch循环语句 如 while do while for跳转语句 如 break continue异常语句 如 try catch finally空语句 如 块 块是用一对 将零个或多个语句括起来 就构成一个块 也称复合语句 程序中的类体及方法体也都是块 classUseBlock publicstaticvoidmain Stringargs inta 5 a 8 intb 6 b b a System out println a b System out println a b 结合前面所学知识 变量的作用域 上面的程序有错误吗 分支结构 if单选结构if 布尔表达式 语句块 可以是一条或多条语句 在只有一条语句的情况下 可以不用 如 学生的成绩studentGrade 60分 则输出 成绩及格了 if studentGrade 60 System out println 成绩及格了 分支结构 实例 求两个数的最大值 使用单分支结构 intn1 45326 n2 54321 max max n1 if n2 n1 max n2 System out println max max 分支结构 if elseif 布尔表达式 语句块1 可以是一条或多条语句 在只有一条语句的情况下 可以不用 else 语句块2 分支结构 如 学生的成绩studentGrade 60分 则输出 恭喜 成绩及格了 否则输出 遗憾 成绩不及格 if studentGrade 60 System out println 恭喜 System out println 成绩及格了 else System out println 遗憾 System out println 成绩不及格 分支结构 实例 求两个数的最大值 使用双分支结构 intn1 45326 n2 54321 max if n1 n2 max n1 elsemax n2 System out println max max 分支结构 嵌套的if else结构if 布尔表达式1 语句块1 elseif 布尔表达式2 语句块2 elseif 布尔表达式N 语句块N else 语句块Else 分支结构 如 学生的成绩studentGrade 90分 则输出等级 A studentGrade 80分 则输出等级 B studentGrade 70分 则输出等级 C studentGrade 60分 则输出等级 D 其他成绩 则输出等级 F if studentGrade 90 System out println A elseif studentGrade 80 System out println B elseif studentGrade 70 System out println C elseif studentGrade 60 System out println D elseSystem out println F 分支结构 switch多分支结构switch 表达式 case值1 statements1 break casevalueN statementsN break default defaultStatements 将括号里 表达式 的值同每种情况列出的值做比较 若相等就执行后面的语句 若不等 就执行default语句 注意 表达式 必须为byte short int或char类型 每个case语句后的值必须是与表达式类型兼容的特定的一个常量 它必须为一个常量 而不是变量 重复的case值是不允许的 通常在每一种case情况后都应使用break语句 否则 第一个相等情况后面所有的语句都会被执行 这种情况被称为落空 分支结构 实例1 根据考试等级 A 表示90分以上 B 表示80 89分 C 表示70 79分 D 表示60 69分 E 表示60分以下 输出百分制分数段 实例2 输入一个月份 判断是属于一年中的哪个季节 春 夏 秋 冬 循环结构 循环结构是在满足一定条件下反复执行某段程序的流程结构 一个循环一般包括四个部分 循环的初始化 用来设置循环的一些初始条件 循环条件 一般为布尔表达式循环体 重复执行的一段程序 可以是一个语句 也可以是一个语句块迭代部分 在本次循环结束 下一次循环开始前执行的是循环变量递变的语句 常用的形式为一个计数器递增或递减 循环结构 while语句 P96 while 条件表达式 循环体 注意 1 没有在循环体中提供使条件表达式最终变为假的语句 这种循环就永远不会终止 称为 死循环 2 该循环体最少执行多少次 循环结构 实例 计算1 2 3 100inti 1 sum 0 while i 100 sum sum i i System out println 1 2 3 100 sum 循环结构 实例 用while循环语句计算 1 2 3 10 inti 1 p 1 sum 0 while i 10 p p i sum sum p i System out println 1 2 3 10 sum 循环结构 do while语句 P133 do 循环体 while 条件表达式 注意 1 while 条件表达式 后有 2 该循环体至少被执行1次 这是和while的最大区别 故一般称while循环为 当型 循环 先判断后执行 do while循环为 直到型 循环 先执行后判断 循环结构 实例 将键盘输入的数据累加求和 直到输入0为止 BufferedReaderbr newBufferedReader newInputStreamReader System in Strings inti sum 0 System out println plaeseinputanumber input0tostop do s br readLine i Integer parseInt s sum sum i System out println thesumis sum while i 0 循环结构 for语句 P126 for 初始化 循环继续条件 增量 语句 For结构应用举例 课本P129 注意 for语句中的循环变量在for结构头的初始化部分定义时 在此结构外使用该循环变量是一个语法错误 循环结构 实例 计算1 2 3 100计算1 2 3 10 计算2 4 6 100 循环结构 例 求1000之内的所有水仙花数 所谓水仙花数 是指一个三位数 它的各位数字的立方和等于这个数本身 如 371 程序分析 用for循环每一次循环检查100到999中的一个三位数n 取出n的个位 十位和百位分别存入k j i三个整形变量中 然后利用系统定义好的方法Math pow 计算i j k的三次方并相加 若得到的和等于n 则输出这个水仙花数 否则n加1进入下一次循化 循环结束时将得到所有的水仙花数 其中用m计算水仙花数的当前找到个数 循环结构 publicclassNarcissus publicstaticvoidmain Stringargs inti j k m 1 for intn 100 n 1000 n i n 100 j n i 100 10 k n 10 if Math pow i 3 Math pow j 3 Math pow k 3 n System out println 找到第 m 水仙花数 n 循环结构 下列程序的输出结果是什么 classTuXing publicstaticvoidmain Stringargs for inti 1 i 5 i for intj 1 j 5 i j System out print for intk 1 k 2 i 1 k System out print System out println 循环结构 例 求3 200之间的所有素数 素数是只能被1和该数本身整除的数 publicclassPrimeNumber publicstaticvoidmain Stringargs System out println 3到200之间的所有素数 intn 0 for inti 3 i 200 i 2 intk int Math sqrt i booleanisPrime true for intj 2 j k j if i j 0 isPrime false if isPrime System out print i n if n 10 0 System out println 三种循环语句的比较 三种循环都可以用来处理同一个问题 一般可以相互替代 while和do while循环的循环体中应包括使循环趋于结束的语句 for语句功能更强大 用while和do while循环时 循环变量初始化操作应在while和do while语句之前完成 而for语句可以在表达式1中实现循环变量的初始化 当循环次数明确时 用for while比较方便 当不肯定时就用while或do while break 在前面的switch结构中 break语句终止switch结构体语句的执行 跳到switch结构后面的语句执行 同样 在循环结构中 break语句结束循环语句的执行 提前结束 跳到循环结构后面的语句执行 break 如求200 300之间的所有素数并输出 PrimeNumber2 java System out println 200 300 inti j for i 200 ii 1 System out print i 带标号的break 带标号的break语句从标号所标记的语句块中跳出来 直接执行标号语句块后面的语句 注意 break语句必须包含在标号所标记的语句块内标号名可以是任何合法的标识符 带标号的break BreakDemo javabooleanb true first second third System out println 1 if b breaksecond System out println 2 System out println 3 System out println 4 continue continue语句只用在for while do while循环体中 它的功能是 使得程序跳过循环体中continue语句后剩下的部分 终止当前这一次循环的执行 直接进行下一次循环条件的判断 continue 如使用不带标号的continue语句和循环语句 求出1 100之间的所有奇数的和 JiShuHe java intsum 0 for inti 1 i 100 i if i 2 0 continue sum sum i System out println sum continue inti 1 sum 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 1120:2025 EN Conveyor belts - Determination of strength of mechanical fastenings for textile conveyor belts- Static test method
- 商场安全员培训课件
- 2025年汽车行业智能网联技术发展前景研究报告
- 2025年可再生能源行业可再生能源发电技术及市场前景研究报告
- 2025年风电行业风能利用技术发展前景研究报告
- 2025年电信通讯行业5G技术应用前景研究报告
- 2025年区块链行业区块链数字资产交易市场前景研究报告
- 定海区2025年浙江舟山市定海区环境卫生管理中心编外招聘2人笔试历年参考题库附带答案详解
- 大足区2025重庆大足区某机关事业单位招聘2人笔试历年参考题库附带答案详解
- 商品食品安全培训资料课件
- 离子检验-教案-
- GB/T 12643-2025机器人词汇
- Unit 5 Lesson 20 The Spring Festival Is Coming!(说课稿)-2024-2025学年冀教版(三起)英语五年级上册
- 智能悬架系统集成开发关键技术与实践-2024-12-技术资料
- 应用PDCA降低药占比
- 分包商安全管理规定(4篇)
- 超重与失重+说课高一上学期物理人教版(2019)必修第一册
- 公司收取管理费协议书范本
- JTS-165-6-2008滚装码头设计规范-PDF解密
- 设备维修与保养(课件)
- 医院培训课件:《和谐医患关系的建构与医疗纠纷的应对》
评论
0/150
提交评论