第4章流程控制.ppt

上传人:京东小超市 文档编号:6046153 上传时间:2020-08-29 格式:PPT 页数:48 大小:374KB
返回 下载 相关 举报
第4章流程控制.ppt_第1页
第1页 / 共48页
第4章流程控制.ppt_第2页
第2页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第4章流程控制.ppt》由会员分享,可在线阅读,更多相关《第4章流程控制.ppt(48页珍藏版)》请在三一文库上搜索。

1、第第4 4章章 流程控制流程控制 A B P AB P 循环体 真假 假 真 消 惧 赌 槐 觅 哨 滓 崖 手 贾 慌 飘 瘸 矣 磷 频 躇 旺 癸 银 冶 原 裤 凑 澡 郊 芒 登 慷 贷 蔫 枉 第 4 章 流 程 控 制 第 4 章 流 程 控 制 第第4 4章章 流程控制流程控制 本章要点 n理解Java语言中复合语句的使用方法 n掌握if条件语句的使用方法 n了解if语句与switch语句间的区别 n掌握while循环语句的使用方法 n掌握dowhile循环语句的使用方法 n掌握for语句的使用方法 n了解跳转语句的使用 见 章 撕 置 突 汰 唾 稗 财 庞 序 情 柄 哈

2、代 框 顶 贱 勾 辣 乳 仑 咯 典 碌 票 清 滤 刊 煎 丙 宏 第 4 章 流 程 控 制 第 4 章 流 程 控 制 第第4 4章章 流程控制流程控制 n n 4.1 4.1 复合语句复合语句 n n 4.2 4.2 分支结构分支结构 n n 4.3 4.3 循环语句循环语句 n n 4.4 4.4 跳转语句跳转语句 主要内容 羽 纵 沪 莉 琢 榨 俊 窥 醒 鹏 看 簧 邱 签 逾 递 尼 擞 此 狼 嗅 返 先 材 温 匝 撩 库 圃 呈 镁 缀 第 4 章 流 程 控 制 第 4 章 流 程 控 制 4.1 复合语句 nJava语言的复合语句是以整个块区为单 位的语句,所以又

3、称块语句。 n复合语句由开括号“”开始,闭括号“”结 束。 语句块可以嵌套,嵌套层数无限制 定义类时类体必须采用语句块形式 定义方法时方法体必须采用语句块的 形式 辜 赔 拣 衙 超 炽 哀 杀 谐 加 宪 府 肌 子 君 韵 迢 孜 勇 缠 挠 谰 秽 讼 憎 苫 兹 觅 撑 拷 液 矮 第 4 章 流 程 控 制 第 4 章 流 程 控 制 4.2 分支语句 n4.2.1 if条件语句 n4.2.2 switch多分支语句 恋 莽 甘 兰 弊 河 侍 局 台 稗 涣 寸 值 勤 疼 辖 儿 积 辉 乔 班 驹 再 疲 籍 狡 停 姜 寸 逮 译 侨 第 4 章 流 程 控 制 第 4 章

4、流 程 控 制 4.2.1 if条件语句 1. 简单的if条件语句 n格式: if (布尔表达式) 语句块 falsetrue 表达 式 语句块1 脾 屎 喳 列 怒 猩 捎 属 责 草 谊 苹 返 阉 啊 尸 钢 淳 喊 煮 甘 弱 蜗 锚 柔 仁 蛰 戈 履 斥 迭 囊 第 4 章 流 程 控 制 第 4 章 流 程 控 制 1. 简单的if条件语句 【例4-1】 判断两个数的大小,将结果输出。 int x = 12; int y = 21; String outer = 变量x小于y!; if (x y) outer= 变量x大于y!; System.out.println(outer)

5、; 舟 氏 娟 烃 谱 蹭 粟 伍 蕾 男 岸 彰 冀 诲 一 滔 离 夺 臼 肉 敏 芍 苞 敞 颂 插 荣 箱 式 伐 宁 祷 第 4 章 流 程 控 制 第 4 章 流 程 控 制 2. ifelse语句 n格式: if (表达件) 语句块1; else 语句块2; false true 表达 式 语句块1 语句块2 比 扭 畜 殿 四 酞 檬 熙 尘 揉 购 艇 欣 掐 条 扩 笼 滁 珐 韦 裳 谦 激 整 么 映 掸 岁 怂 雇 辑 措 第 4 章 流 程 控 制 第 4 章 流 程 控 制 2. ifelse语句 【例4-2】 判断考试成绩是否合格,将结果输 出。 int sco

6、re = 90; if (score = 60) System.out.println(考试成绩及格!); else System.out.println(考试成绩不及格!); 奄 望 辕 餐 揣 获 丁 染 钩 燥 指 抹 粕 带 异 兆 胳 天 皋 湿 链 腑 绑 曲 袜 趋 身 渍 侈 老 杯 墙 第 4 章 流 程 控 制 第 4 章 流 程 控 制 2. ifelse语句 以条件运算符代替ifelse if (ab) System.out.println(The larger one is: +a); else System.out.println(The larger one is

7、: +b); System.out.println(The larger one is: “ + (ab)?a:b); 点 陕 检 匙 澎 跨 迸 赤 寻 烦 浮 张 蝎 讨 喊 步 撒 谆 苟 戍 洽 匡 练 柒 其 鼠 掌 喘 胃 挪 逞 矫 第 4 章 流 程 控 制 第 4 章 流 程 控 制 3. ifelse if多分支语句 if (表达式1) 语句块1; else if (表达式2) 语句块2; else if (表达式n) 语句块n; else 语句块n+1; 艺 剪 璃 奎 钻 艾 饶 韭 赋 逼 羹 禹 笆 哀 涸 沸 瘟 趟 傻 邵 勃 碗 寝 醇 诊 呀 宙 豺 宋 摇

8、 怖 淌 第 4 章 流 程 控 制 第 4 章 流 程 控 制 3. ifelse if多分支语句 尚 竟 术 烃 魄 将 憨 孤 藉 慈 挑 泞 吼 习 杰 棋 考 定 获 去 雕 驮 利 蓉 貉 士 附 玩 致 钻 丛 声 第 4 章 流 程 控 制 第 4 章 流 程 控 制 3. ifelse if多分支语句 【例4-3】 判断两数大小,将结果输出。 int x = 12; int y = 21; if (x y) System.out.println(变量x大于y!); else if (x = y) System.out.println(变量x等于y!); else System

9、.out.println(变量x小于y!); 通 淡 筷 邻 母 炔 泉 肿 脾 仔 牟 敬 旭 琵 颂 咬 耍 沉 橙 茧 护 酷 霄 倪 畸 骚 撵 颜 贴 接 核 预 第 4 章 流 程 控 制 第 4 章 流 程 控 制 4.2.1 if条件语句练习 n给出一个年份,判断它是不是闰年。 n闰年: 能被4整除但不能被100整除,或者 能被400整除。 (year%4=0 char grade; if (testscore = 90) grade = A ; else if(testscore = 80)grade = B; else if (testscore =70)grade = C

10、; else if(testscore =60) grade = D; else grade = F; System.out.println(Grade = + grade); 疯 女 蔷 灼 潞 叫 腰 纱 芦 浑 信 庚 时 扇 臂 姨 彬 泞 炎 藻 剃 尘 晋 辱 汛 儿 处 踌 朴 萌 手 攫 第 4 章 流 程 控 制 第 4 章 流 程 控 制 4.2.2 switch选择结构 switch(表达式) case 常量1: 语句块1; break; case 常量2: 语句块2; break; case 常量n: 语句块n; break; default: 语句块n+1; brea

11、k; 慨 英 浅 涎 跃 惕 章 坠 盟 螟 糯 咯 杯 献 争 礁 沾 缄 装 订 携 徘 授 讫 力 挂 给 卤 碗 痔 来 汽 第 4 章 流 程 控 制 第 4 章 流 程 控 制 4.2.2 switch选择结构 资 戌 贝 唤 黄 茨 数 辽 旗 掉 天 雹 彤 背 搞 速 亲 敛 蓄 盏 矽 红 些 蔫 居 淤 册 罕 领 棒 订 持 第 4 章 流 程 控 制 第 4 章 流 程 控 制 4.2.2 switch选择结构 n已知一个学生的分数,给出其分数等级。 p90-100分为A级; p80-89分为B级; p70-79分为C级; p60-69分为D级; p0-59分为E级

12、锣 恭 懒 设 硬 辽 哆 泥 体 芽 慷 氛 玖 殷 埠 投 诈 哩 荷 斯 柴 奇 逢 入 胰 制 挡 刀 眠 抬 苗 僳 第 4 章 流 程 控 制 第 4 章 流 程 控 制 4.2.2 switch选择结构 桃 烯 欧 孺 银 撮 哦 篙 苫 堰 楔 碰 焦 巍 笑 编 厌 郴 记 脯 辕 铜 莆 沙 敲 辊 喝 诬 罪 渭 蜜 针 第 4 章 流 程 控 制 第 4 章 流 程 控 制 4.3 4.3 循环语句循环语句 n4.3.1 While语句 n4.3.2 do/while语句 n4.3.3 for语句 邮 镇 调 椒 层 无 角 金 烧 朗 携 廊 仗 簧 慎 杉 国 宫

13、畦 侧 薄 颜 湿 甲 坯 述 肝 揍 毙 锗 肾 钱 第 4 章 流 程 控 制 第 4 章 流 程 控 制 4.3.1 while4.3.1 while语句语句 nwhile语句的一般形式为: while(表达式) 语句块; 语句块 表达 式 false true 蔡 聊 兜 或 逆 理 捡 物 躲 渝 烘 崇 紫 偿 涯 爆 泪 拇 锁 量 伸 捞 舶 辣 为 镊 膀 涌 距 枯 捶 爆 第 4 章 流 程 控 制 第 4 章 流 程 控 制 nwhile语句执行过程: 首先计算表达式,当表达式的值为 true时,执行一次循环体中的语句,重复 上述操作到表达式的值为false时退出循 环

14、。如果表达式的值在开始时就为false ,那么不执行循环体语句直接退出循环。 while语句的特点是:先判断表达式, 后执行语句。 4.3.1 while4.3.1 while语句语句 碳 寇 驹 抖 恢 乘 桔 隧 戴 诲 耀 丛 喜 瑶 烹 概 位 伍 伍 写 占 墒 问 足 柏 懦 战 贺 佛 驯 摊 滔 第 4 章 流 程 控 制 第 4 章 流 程 控 制 4.3.1 while4.3.1 while语句语句 【例4-5】 计算从1到100之间所有整数的和, 将结果输出。 int i = 1; int sum = 0; while (i = 100) sum += i+; Syste

15、m.out.println(sum); 俱 衰 姻 崩 敞 险 逻 厦 藩 佐 湖 撂 氨 趋 蛰 碾 钳 肠 矽 药 懦 瘩 你 匆 餐 字 堕 姑 旱 扁 浆 克 第 4 章 流 程 控 制 第 4 章 流 程 控 制 4.3.1 while4.3.1 while语句语句 n计算存款收益:假设银行中存款10000元,按 11.25%的利率,一年后连本带利将变为11125 元。你若将此款继续存入银行,试问多长时间 就会连本带利翻一番? 驱 志 清 雀 个 喀 迂 战 拨 彝 术 深 糟 杏 员 稳 修 挥 挽 湛 义 抗 颈 逻 诲 珊 瑚 相 警 荔 乍 渐 第 4 章 流 程 控 制 第

16、 4 章 流 程 控 制 ndo-while语句的特点是先执行循环体,后 判断循环条件是否成立,其一般形式为: do 语句块; while (表达式); 4.3.2 do-while循环语句 语句块 表达 式 false true 迭 焊 记 聘 从 萨 拿 伶 弓 罕 畔 遏 亿 蹲 捆 侩 坷 雌 缘 掘 镀 靛 捡 二 剔 呻 斜 妮 忻 裤 哈 学 第 4 章 流 程 控 制 第 4 章 流 程 控 制 ndo-while语句执行过程如下 首先执行一次循环体,然后再计算表达式 ,如果表达式的值为true,则再执行一次循 环体,重复上述操作,直到表达式的值为 false时退出循环。如果条

17、件在开始时就为 false,那么执行一次循环体语句后退出循环 。 nwhile语句与do/while语句的区别在于 前者循环体执行的次数可能是0次,而后 循环体执行的次数至少是1次。 4.3.2 do-while循环语句 淀 疟 攻 癣 吓 爱 旧 啤 卤 益 磊 状 盐 窃 演 杀 浓 窍 键 娃 衍 叭 睹 荒 夏 亥 传 室 芽 介 禄 董 第 4 章 流 程 控 制 第 4 章 流 程 控 制 4.3.2 do-while循环语句 【例4-6】 计算从1到100之间所有整数的和, 将结果输出。 int i = 1; int sum = 0; do sum += i+; while (i

18、 = 100); System.out.println(sum); 惋 呛 穴 涛 恋 蚤 钦 蔡 烦 吞 控 彩 捆 数 赛 吩 买 士 息 配 书 弱 肤 栈 呼 呛 陪 童 席 谊 龄 姨 第 4 章 流 程 控 制 第 4 章 流 程 控 制 4.3.3 for循环语句 nfor语句的一般形式为: for(表达式1; 表达式2; 表达式3) 语句块; 1. for语句 甭 煎 渝 吮 胜 羡 织 挂 得 体 亏 扮 笛 袍 惰 机 辕 绎 谴 涝 钙 认 袁 奋 岳 骚 艾 搏 秸 敲 乏 磅 第 4 章 流 程 控 制 第 4 章 流 程 控 制 false true 表达式1 表达

19、式 2 语句块 表达式3 1. for语句 宛 添 黄 狰 职 拧 家 癣 锦 填 吹 针 崇 模 去 警 俱 通 烂 拘 夸 瘩 铅 许 套 奔 匠 弦 增 桃 憎 荐 第 4 章 流 程 控 制 第 4 章 流 程 控 制 1. for语句 【例4-7】 计算从1到100之间所有整数的和, 将结果输出。 int sum = 0; for (int i=1; i = 100; i+) sum += i; System.out.println( sum); 驱 昨 饼 儒 世 兵 竭 烙 欣 悬 古 勋 唤 墅 盼 觉 微 抨 肯 襄 柴 苹 狐 丽 箔 喂 焕 么 掉 慑 睫 繁 第 4 章

20、 流 程 控 制 第 4 章 流 程 控 制 nfor语句3个表达式均可省,但”;”不能省。 省略表达式1。此时应在for语句前面给 循环控制变量赋初始值。 省略表达式3。此时应在for语句的循环 体重改变循环控制变量,否则容易造成死 循环。 省略所有三个表达式。当for语句中没 有表达式2时,编译程序将解释为表达式2 为true,循环将无限进行下去。 1. for语句 心 韶 翔 躯 瞥 疗 川 袱 蔗 迹 哀 斜 缘 缎 暑 忍 莱 钡 赖 丙 拽 彤 闻 里 锑 堑 燃 枣 铺 收 签 煎 第 4 章 流 程 控 制 第 4 章 流 程 控 制 1. for语句 n给定一个整数,输出它所

21、有的因数 int n = 28; for (int k = 1; k = n; k+) if (n % k = 0) System.out.print(k + ); 汁 毒 窜 稻 浓 阅 姓 揖 渔 郧 太 壬 帕 裳 咬 壳 似 棘 歇 先 兹 檀 廓 孔 笨 炎 烷 榴 腻 祥 棕 绿 第 4 章 流 程 控 制 第 4 章 流 程 控 制 1. for语句 n逗号运算符 可用在 for 循环控制表达式的初始化和 递增两部分。 在这两部分中可以存在多个由逗号分隔 的语句,这些语句会被依次计算。 肛 蔼 超 皇 蹬 肮 隔 臆 嘉 墒 杰 霉 榔 佬 骤 卜 沤 粹 首 离 沙 囤 练 砍

22、 砰 茁 烧 沃 虫 酸 剃 媚 第 4 章 流 程 控 制 第 4 章 流 程 控 制 nforeach语句是for语句的特殊简化版本。 n语法: 2. foreach语句 foreach语句中的元素变量x,不必对其进行初始化 for(元素变量x : 遍历对象obj) 引用了x的java语句; 介 眺 委 皱 柴 携 敏 寻 暗 植 吾 赛 旁 萨 渝 绸 剃 贿 奶 聊 泄 奸 挖 炒 杂 氏 薪 溶 剁 康 牛 牙 第 4 章 流 程 控 制 第 4 章 流 程 控 制 nforeach语言的执行过程如下: 1)自动指向遍历对象obj中的第一个元素 ; 2)判断该元素是否存在,不存在则结

23、束 循环 3)把该元素的值赋给元素变量x ; 4)执行循环体语句块; 5)自动指向下一个元素,之后从第(2)开 始重复执行。 2. foreach语句 诵 躺 规 碾 障 阑 壳 叭 枝 糜 鬼 述 账 迁 迹 聊 追 啮 历 郊 啸 筛 景 芦 堂 续 钓 跪 央 藐 瞪 闽 第 4 章 流 程 控 制 第 4 章 流 程 控 制 n【例4-8】遍历输出一维数组中各元素。 2. foreach语句 int array = 1, 2, 3, 4, 5 ; / 定义一维数组 System.out.println(数组array中元素:); for (int i : array) System.o

24、ut.print(i + ); 菠 画 营 阿 坛 筒 度 脐 滋 绝 剐 龚 鞭 糙 抡 的 棋 房 永 岗 倦 根 伐 巳 光 限 舱 苏 洗 炊 鼻 暖 第 4 章 流 程 控 制 第 4 章 流 程 控 制 4.4 4.4 跳转语句跳转语句 n4.4.1 break语句 n4.4.2 continue语句 n4.4.3 return语句 擦 伤 苟 赞 虹 鞘 患 札 州 鹃 蜗 肌 避 泥 哈 蛆 功 语 婪 贰 袭 靠 锥 盒 棘 号 遍 空 臂 镭 潭 篮 第 4 章 流 程 控 制 第 4 章 流 程 控 制 4.4.1 break语句 n功能 跳出循环,不再执行剩余部分 n适

25、用场合 在switch 结构中终止switch语句的执 行 在for循环及while循环结构中,用于 终止break语句所在的最内层循环; 与标号一同使用时将跳出标号所标识 的循环 晰 裸 缺 烧 腺 啃 匡 棍 缕 甭 藏 逼 遁 年 泊 须 利 半 赌 儒 荧 檀 元 咕 耐 委 滋 翰 豫 披 黍 米 第 4 章 流 程 控 制 第 4 章 流 程 控 制 4.4.1 break语句 【例4-8】 计算从1到100之间所有整数的和, 如果和大于1000,则退出循环。 int sum=0; for(int i=1;i1000) break; System.out.println(sum);

26、 县 成 焉 唯 辖 蔓 羽 猫 砍 嘿 锣 哮 隧 荧 臆 玻 拳 晾 邦 猫 锑 锯 熬 鸡 扑 仆 若 氮 习 停 泡 拱 第 4 章 流 程 控 制 第 4 章 流 程 控 制 4.4.1 break语句 nbreak与label一同使用举例 outer: for (int i=1; i=9;i+) for (int j=1; j i) break; if (i=6) break outer; System.out.print(i+*+j+=+i*j+ ); System.out.println(); 故 界 喇 仓 瘫 雨 吉 耘 娘 牌 藏 伶 翱 硼 乘 脓 敛 伦 终 缮 傀

27、稳 桌 厢 毫 你 达 耻 百 通 嵌 霉 第 4 章 流 程 控 制 第 4 章 流 程 控 制 4.4.2 continue语句 ncontinue语句 不带标号的continue语句:终止当前 这一轮的循环,跳出本轮循环剩余的语句 ,直接进入当前循环的下一轮 带标号的continue语句:使程序的流 程直接转入标号标明的循环层次 身 江 煽 历 帆 哀 选 娃 膨 擎 诊 仲 愁 颇 兄 旬 南 喜 稗 兵 罩 宁 校 稀 舀 佩 社 检 彦 鳖 韦 帝 第 4 章 流 程 控 制 第 4 章 流 程 控 制 4.4.2 continue语句 n不带标号的continue语句 在whil

28、e或do-while循环中,会使流程 直接跳转至条件表达式 在for循环中,会使流程跳转至表达式 update-expression,计算并修改循环变 量后再判断循环条件 候 屏 刚 甚 羞 夏 键 惜 闭 腻 鲍 拈 洱 交 鹊 孵 刘 往 滤 辖 凛 札 怔 皿 整 喜 钠 钳 倦 斗 该 嘿 第 4 章 流 程 控 制 第 4 章 流 程 控 制 4.4.2 continue语句 n简单的continue语句举例 int i; for(i=1;i=10;i+) if(i%5=0) continue; System.out.println(i); System.out.println(i)

29、; 悯 杖 桂 戎 蔚 慌 秆 卸 盟 睫 例 浚 贾 青 徽 敞 窘 磨 哀 瑟 径 澜 创 逐 柱 丸 佰 废 啮 催 瑚 坏 第 4 章 流 程 控 制 第 4 章 流 程 控 制 4.4.2 continue语句 n带标号的continue语句 格式如下 continue label; 标号label应该定义在程序中某一循环语 句前面,用来标志这个循环结构 档 磅 伴 干 懈 怀 僻 冤 儒 汤 锌 茬 础 农 拯 咽 沾 遏 伐 殉 途 臻 键 帐 祝 苍 根 理 逗 息 弓 灭 第 4 章 流 程 控 制 第 4 章 流 程 控 制 4.4.2 continue语句 n九九乘法表

30、outer: for (int i=1; i10; i+) for (int j=1; j10; j+) if (ij) System.out.println(); continue outer; System.out.print( +i+*+j+=+i*j); 礼 好 樱 哉 友 认 净 廉 波 橱 曰 哈 厦 亡 豁 召 血 咎 讨 披 聪 赦 仅 馏 衍 瞻 闭 窄 珊 朴 箕 花 第 4 章 流 程 控 制 第 4 章 流 程 控 制 4.4.3 return语句 n退出当前函数并从该函数返回一个值。 return expression; n可选项 expression 参数是要从函数返回的 值。假如省略,则该函数不返回值。 盾 范 困 其 谅 鬃 袋 彪 劲 惊 筒 酝 世 想 掩 徽 瞳 读 菠 扯 圃 蔗 详 搂 芹 糕 揖 劈 弯 屁 婚 语 第 4 章 流 程 控 制 第 4 章 流 程 控 制 实验作业 n编程求N的阶乘, 要求判断N的值是否符合 要求. n编程求素数,求20个素数并分别显示在4 行文本中,每行显示5个素数。 n输出一个等腰三角形,要求空心效果。 踩 誉 朽 涂 援 挪 沟 梭 愉 返 抠 饲 撇 壤 芒 贞 湿 擅 犹 瑚 郁 五 下 托 贬 氛 青 了 臀 累 睬 姻 第 4 章 流 程 控 制 第 4 章 流 程 控 制

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1