书签 分享 收藏 举报 版权申诉 / 39
上传文档赚钱

类型Java程序设计第3章-程序流程控制.pptx

  • 上传人(卖家):三亚风情
  • 文档编号:3372329
  • 上传时间:2022-08-24
  • 格式:PPTX
  • 页数:39
  • 大小:3.32MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《Java程序设计第3章-程序流程控制.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Java 程序设计 程序 流程 控制
    资源描述:

    1、第3章 程序流程控制程序流程控制典型程序结构 01选择结构02循环结构03控制跳转语句04本章内容本章内容专题应用:典型流程控制算法05第1节 典型程序大家所见到的程序都是按照语句编写的先后顺序逐条地执行。例如:大家所见到的程序都是按照语句编写的先后顺序逐条地执行。例如:声明变量,给变量赋值,最后输出变量的值。然而,在日常生活中声明变量,给变量赋值,最后输出变量的值。然而,在日常生活中往往会遇到很多更复杂的情况。比如:要把某个数字显示往往会遇到很多更复杂的情况。比如:要把某个数字显示100100次?遇次?遇到一首你想反复听的曲子?走到丁字路口前,你该选择哪个方向?到一首你想反复听的曲子?走到丁

    2、字路口前,你该选择哪个方向?采用不同流程控制语句解决这些问题任何算法功能都可以通过程序模块的三种基本流程结构组成:顺序结构、选择结构和循环结构。第1节 典型程序第2节 选择结构相信大家都对各种手机套餐资费有所了解,现在假设有一种资费情相信大家都对各种手机套餐资费有所了解,现在假设有一种资费情况为:每月基本套餐使用费况为:每月基本套餐使用费2020元,其中包括主叫元,其中包括主叫100100分钟通话时间,分钟通话时间,超过超过100100分钟后,主叫每分钟分钟后,主叫每分钟0.150.15元。给定一个主叫通话时间,试计元。给定一个主叫通话时间,试计算出所需要的电话费用?算出所需要的电话费用?选择

    3、结构是指程序通过判断给定条件的结果来选择执行哪个流程分支。Java提供的两种选择语句:if语句和switch语句。第2节 选择结构if语句 if-else语句的基本形式:if(条件表达式)语句块1;else 语句块2;语句的执行过程 第2节 选择结构说明:说明:1.if 1.if语句中条件表达式的结果必须为逻辑型语句中条件表达式的结果必须为逻辑型 int x=0;int x=0;if(x)if(x)2.2.语句块既可以是一条语句也可以是多条语句语句块既可以是一条语句也可以是多条语句int x=5;int x=5;if(x=0)if(x=0)x=-x;x=-x;System.out.printl

    4、nSystem.out.println(x=+x);(x=+x);结果有何变化?结果有何变化?第2节 选择结构说明:说明:3.3.嵌套的嵌套的ifif语句语句int x=-5;int x=-5;if(x=0)if(x=90)if(score=90)grade=A;grade=A;else if(score=80)else if(score=80)grade=B;grade=B;elseelse grade=C;grade=C;System.out.println(System.out.println(成绩等级为:成绩等级为:+grade);+grade);else if(score=80)gr

    5、ade=B;System.out.println(成绩等级为:成绩等级为:+grade);程序程序3-2例:给定一个成绩,输出对应的等级。(例:给定一个成绩,输出对应的等级。(A A、B B、C C)关于选择结构下列说法正确的是()if语句和else语句必须成对出现。if语句可以没有else语句对应。一个if语句只能有一个elseif语句与之对应。elseif结构中必须有default语句。ABCD提交单选题第2节 选择结构语句的基本形式switch(switch(表达式表达式)case case 值值1:1:语句块语句块1;1;break;break;case case 值值2:2:语句块语

    6、句块2;2;break;break;case case 值值n:n:语句块语句块n;n;break;break;default:default:语句块语句块n+1;n+1;SwitchSwitch执行过程执行过程语句块语句块n n如果是多条顺序执如果是多条顺序执行的语句可以不用大括号行的语句可以不用大括号语句执行过程switch语句第2节 选择结构说明说明 1.switch 1.switch语句的每个语句的每个casecase不负责指明流程的出口,一旦遇到相等的值,执行完相应不负责指明流程的出口,一旦遇到相等的值,执行完相应的语句块后,不再判断后面的的语句块后,不再判断后面的casecase值

    7、值 ,结构中通过,结构中通过breakbreak语句将流程转到程序的出口。语句将流程转到程序的出口。char grade=A;char grade=A;switch(grade)switch(grade)case A:case A:System.out.printlnSystem.out.println(优秀优秀););case B:case B:System.out.printlnSystem.out.println(良好良好););case C:case C:System.out.printlnSystem.out.println(中等中等););default:default:Syste

    8、m.out.printlnSystem.out.println(不及格不及格););优秀优秀良好良好中等中等不及格不及格第2节 选择结构2.2.并非所有的并非所有的casecase后面都必须有后面都必须有breakbreak语句。比如多个值有一个相同的结果时,只语句。比如多个值有一个相同的结果时,只需要在最后一个需要在最后一个casecase值后面填写相应的语句块。值后面填写相应的语句块。char grade=B;char grade=B;switch(grade)switch(grade)case A:case A:case B:case B:case C:case C:System.out

    9、.printlnSystem.out.println(及格及格););break;break;default:default:System.out.printlnSystem.out.println(不及格不及格););第2节 选择结构3.switch3.switch后的表达式可以是单个变量,也可以是带有各种操作符的表达式。但是后的表达式可以是单个变量,也可以是带有各种操作符的表达式。但是,表达式的值必须是,表达式的值必须是bytebyte、shortshort、intint、charchar或或StringString类型。类型。float x=2.0;float x=2.0;switch(

    10、x)switch(x)case 2.0:case 2.0:int y=1;int y=1;switch(y switch(y*5)5)int x=3,y=1;int x=3,y=1;switch(x)switch(x)case y+2:case y+2:x x不能是浮点型数据不能是浮点型数据 正确正确 casecase后面不能为带有变量的表达式后面不能为带有变量的表达式 程序程序3-3 下面程序段,当x=2 时,运行结果是()switch(x)case 1:System.out.println(1);case 2:case 3:System.out.println(3);case 4:Syst

    11、em.out.println(4);没有输出任何结果输出结果为3输出结果是3和4输出结果是l、3和4ABCD提交单选题第3节 循环结构 先来讨论一个薪酬问题。甲对老板说每月(先来讨论一个薪酬问题。甲对老板说每月(3030天)给我天)给我3000-50003000-5000元。乙说你第元。乙说你第1 1天给我天给我1 1分钱,第分钱,第2 2天给我天给我2 2分钱,第分钱,第3 3天给我天给我4 4分钱分钱,你,你每天给我的钱是前一天的每天给我的钱是前一天的2 2倍。丙说我家境比较好,不缺钱,主要是锻炼倍。丙说我家境比较好,不缺钱,主要是锻炼一下自己的能力。酬金嘛,我每天给你一下自己的能力。酬金

    12、嘛,我每天给你1010万,你只要付我乙所说的工资万,你只要付我乙所说的工资就行了。老板经过考虑聘用了丙,请问就行了。老板经过考虑聘用了丙,请问3030天后双方各得到多少钱?天后双方各得到多少钱?循环结构是指程序在满足一定条件的情况下反复地执行某个程序块,这个程序块通常称为循环体。Java提供的三种循环语句:for循环、while循环和do-while循环。第3节 循环结构 for语句 for语句的语法格式:for(for(初始语句初始语句;条件表达式条件表达式;迭代语句迭代语句)循环体循环体;int i;int i;for(i=1;i=2;i+)for(i=1;i=2;i+)System.ou

    13、t.printlnSystem.out.println(i+ii+i););for语句的执行过程第3节 循环结构说明:说明:1.for 1.for语句小括号内是三条独立的语句小括号内是三条独立的JavaJava语句,都可以为空。语句,都可以为空。但易造成死循环。但易造成死循环。for(;)for(;)System.out.printlnSystem.out.println(循环能结束吗?循环能结束吗?););2.2.逻辑表达式也可以是包含逻辑运算符的表达式,初始化语句和迭代语句可以逻辑表达式也可以是包含逻辑运算符的表达式,初始化语句和迭代语句可以是用逗号分开的按照顺序执行的多条语句。是用逗号分

    14、开的按照顺序执行的多条语句。for(int i=1,j=10;i=3&j4;i+,j-)for(int i=1,j=10;i=3&j4;i+,j-)第3节 循环结构 3.3.若声明多个变量,可以用逗号将它们分开,但这些变量必须是同若声明多个变量,可以用逗号将它们分开,但这些变量必须是同种数据类型。种数据类型。double j;double j;for(int for(int i i=1,j=1.0;i=3;i+)=1,j=1.0;i=3;i+)4.4.在在forfor语句体内声明的变量,其作用域只在循环体内有效,语句体内声明的变量,其作用域只在循环体内有效,forfor循循环结束,变量将不再起

    15、作用。环结束,变量将不再起作用。int sum=0;int sum=0;for(int i=1;i=100;i+)for(int i=1;i=100;i+)sum+=sum+=i i;System.out.printlnSystem.out.println(“(“i i=+=+i i););i i的作用范围的作用范围 程序有错误程序有错误程序程序3-4第3节 循环结构 for语句常常用在循环执行的次数比较明确的情况下。当程序需用某种逻辑表达式来决定循环的执行与否时,使用for循环不是很方便。这时,可采用while或者do-while语句来实现。while语句while语句的一般语法格式为:wh

    16、ile(while(条件表达式条件表达式)循环体循环体;While语句的执行过程第3节 循环结构说明说明 1.1.循环体内要有能够改变逻辑表达式结果的语句,以保证逻辑表循环体内要有能够改变逻辑表达式结果的语句,以保证逻辑表达的结果可以从达的结果可以从truetrue变为变为falsefalse,避免出现死循环。,避免出现死循环。int int i i=1=1 while(while(i i=3)=3)System.out.printlnSystem.out.println(i+ii+i););i i+;+;第3节 循环结构2.分号的误用for(int i=1;i=3;i+);System.ou

    17、t.println(for语句后面可以接分号吗?);int i;While(i=3);System.out.println(while语句后面可以接分号吗?);分号不会使程序造成死循环!分号不会使程序造成死循环!分号会使程序造成死循环!分号会使程序造成死循环!程序程序3-5第3节 循环结构do-while语句 do-while语句的语法格式为:do 循环体;while(条件表达式);do-while语句执行过程 int i=10;int i=10;do do i=i+1;i=i+1;while(i5);while(i5);System.out.printlnSystem.out.println

    18、(i i););第3节 循环结构说明 1.do-while语句的特点是先执行循环体,再判断条件。因此,循环体至少都会被执行一次。而while语句循环体可能一次都不执行。2.使用do-while语句时,注意在while语句的结尾处有分号。程序程序3-6:求求e=1+1/1!+1/2!+1/3!+1/N!的近似值,要求累加到最后一项的值小于的近似值,要求累加到最后一项的值小于0.00000001为止。为止。关于for循环和while循环的说法正确的是()while循环先判断后执行,for循环先执行后判断。while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果。两种循环任何时候都

    19、不可以替换。两种循环结构中都必须有循环体,循环体不能为空。ABCD提交单选题第3节 循环结构 嵌套循环 如果在一个循环内又包含另外一个或者多个循环,那么就形成了嵌套循环。第3节 循环结构for(int for(int i i=0;i=2;i+)=0;i=2;i+)for(int j=0;j=1;j+)for(int j=0;j=1;j+)System.out.printlnSystem.out.println(i i=+=+i i+”,j=”+j);+”,j=”+j);程序段共执行程序段共执行3 3*2 2次,结果为:次,结果为:i=0,j=0i=0,j=0i=0,j=1i=0,j=1i=1,

    20、j=0i=1,j=0i=1,j=1i=1,j=1i=2,j=0i=2,j=0i i=2,j=1=2,j=1程序程序3-7第4节 控制跳转语句标号语句 格式:格式:标号标号:语句语句;说明:说明:1.1.标号命名规则与一般的标识符命名规则相同,它只是用来标号命名规则与一般的标识符命名规则相同,它只是用来标识语句,并不影响语句的执行效果。标识语句,并不影响语句的执行效果。2.2.标号只可以放在标号只可以放在forfor、whilewhile和和dodo语句之前,用于配合语句之前,用于配合breakbreak和和continuecontinue两种语句实现程序跳转功能。两种语句实现程序跳转功能。第4

    21、节 控制跳转语句 continue语句 终止终止本次循环,直接进入下一次循环。本次循环,直接进入下一次循环。continuecontinue只能用在循环语只能用在循环语句中。句中。1.1.不带标号的不带标号的continuecontinue语句语句 for(int i=1;i=20;i+)for(int i=1;i=20;i+)System.out.print(System.out.print(););if(i%5!=0)if(i%5!=0)continue;continue;System.out.printlnSystem.out.println();();第4节 控制跳转语句2.2.带标号

    22、的带标号的continuecontinue语句语句 这种语句形式一般用在嵌套循环中这种语句形式一般用在嵌套循环中,标签通常放到,标签通常放到continuecontinue所所在循环的外层循环处,表明流程会跳转到标号所在的循环的下一次在循环的外层循环处,表明流程会跳转到标号所在的循环的下一次循环执行。循环执行。out:out:for(int for(int i i=1;i20;i+)=1;i20;i+)for(int j=2;j for(int j=2;ji;ji;j+)+)if(if(i%ji%j=0)=0)continue out;continue out;System.out.print

    23、System.out.print(i i+,);+,);1,2,3,5,7,11,13,17,19,程序程序3-8第4节 控制跳转语句break语句 使程序的流程从一个语句块内部跳转出来。即跳转到流程的出口使程序的流程从一个语句块内部跳转出来。即跳转到流程的出口,breakbreak用在用在switchswitch语句和循环语句中。语句和循环语句中。1.1.不带标号的不带标号的breakbreak语句语句 for(int i=1;i=100;i+)if(i=10)break;程序仅仅执行了程序仅仅执行了10次次 第4节 控制跳转语句2.2.带标号的带标号的breakbreak语句语句 这种语句

    24、形式一般也常用在嵌套循环中,用来在内层循环中直接结束所有的循环,标号要放到需要跳出的循环处。out:for(int i=1;i20;i+)for(int j=2;ji;j+)if(i%j=0)break out;System.out.print(i+,);1,2,3,分析如下程序段,输出结果为()for(int i=0;i6;i+)int k=+i;while(k5)System.out.print(i);break;0242412313ABCD提交单选题第5节 专题应用程序3-9 从键盘上输入三个整数,按照由小到大的顺序输出这三个整数。提示:解决本问题的关键是“比较”和“交换”。两个数交换可

    25、以借助第三个临时变量来完成。请思考还可以有其他方法吗?程序程序3-9第5节 专题应用程序3-10 输入某年某月某日,计算这一天是这一年中的第几天?提示:由于不同的月份的天数不同,可以用switchcase来完成个月份的天数计算。程序程序3-10第5节 专题应用程序3-11 中国古代算书张丘建算经中有一道著名的百鸡问题:公鸡每只值5文钱,母鸡每只值3文钱,而3只小鸡值1文钱。现在用100文钱买100只鸡。问:这100只鸡中,公鸡、母鸡和小鸡各有多少只?提示:通过循环嵌套完成。首先考虑到极值的情况,100文钱最多能买20只公鸡,这样公鸡的数量可以从0到20;母鸡的数量最多是0到33只;三种鸡的总数量是一定的,当公鸡和母鸡的数量确定后就可以确定小鸡的数量,这样就可以通过循环嵌套列举出满足条件的各种鸡的数量。程序程序3-11实验与作业F上机实验上机实验完成实验完成实验4 4和实验和实验5 5的内容的内容 F课后作业课后作业完成习题与实践教材中第完成习题与实践教材中第3 3章中的全部习题章中的全部习题 感谢您的关注Thank You for Your Attention

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Java程序设计第3章-程序流程控制.pptx
    链接地址:https://www.163wenku.com/p-3372329.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库