第三讲流程控制课件.ppt

上传人:石*** 文档编号:49412809 上传时间:2022-10-08 格式:PPT 页数:39 大小:2.20MB
返回 下载 相关 举报
第三讲流程控制课件.ppt_第1页
第1页 / 共39页
第三讲流程控制课件.ppt_第2页
第2页 / 共39页
点击查看更多>>
资源描述

《第三讲流程控制课件.ppt》由会员分享,可在线阅读,更多相关《第三讲流程控制课件.ppt(39页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第三讲流程控制第1页,此课件共39页哦程序结构v任何程序有任何程序有3种基本的结构:种基本的结构:顺序结构顺序结构分支结构分支结构循环结构循环结构v顺序结构顺序结构最简单的一种程序结构最简单的一种程序结构程序按照语句的书写次序顺序执行程序按照语句的书写次序顺序执行第2页,此课件共39页哦语句v语句,语句,Statement向计算机系统发出操作的代码向计算机系统发出操作的代码程序由一系列语句组成,语句以程序由一系列语句组成,语句以“;”结束结束vJava语句类型语句类型表达式语句,如:表达式语句,如:total=a+b;空语句,只有一个空语句,只有一个“;”复合语句,用复合语句,用“”将多条语句

2、括起来作为一条语句使用将多条语句括起来作为一条语句使用 z=x+y;t=z/10;方法调用语句:方法名方法调用语句:方法名(参数参数);如:如:System.out.println(“Java Language”);控制语句,完成一定的控制功能,包括控制语句,完成一定的控制功能,包括l选择语句选择语句l循环语句循环语句l转移语句转移语句“/”是单行注释符是单行注释符,仅对当前行有效仅对当前行有效多行注释用多行注释用”/*/*”开始开始,已已”*/”结束结束第3页,此课件共39页哦public class Force /计算太阳和地球之间的万有引力 public static void main

3、(String args)double g,mSun,mEarth,f;g=6.66667E-8;mSun=1.987E33;mEarth=5.975E27;f=g*mSun*mEarth/(1.495E13*1.495E13);System.out.println(The force is+f);顺序结构 Demo1,【例3-1】程序运行结果如下:程序运行结果如下:The force is 3.5413E27第4页,此课件共39页哦顺序结构 Demo2,【例3-2】/华氏温度转换为摄氏温度华氏温度转换为摄氏温度:c=5(F-32)/9public class Conversion publi

4、c static void main(String args)float f,c;f=70.0f;c=5*(f-32)/9;System.out.println(Fahrenheit=+f);System.out.println(Centigrade=+c);程序运行结果如下:程序运行结果如下:Fahrenheit=70.0Centigrade=21.11111C=5/9*(F-32)?第5页,此课件共39页哦顺序结构Demo3,【例3-3】public class Root /求解方程ax+b=0的根x public static void main(String args)float a,

5、b,x;a=2.0f;b=6.0f;x=-b/a;/求根求根 x System.out.println(a=+a);/Out Result System.out.println(b=+b);System.out.println(x=+x);如何将键盘输入的数据赋值给变量如何将键盘输入的数据赋值给变量a,ba,b?程序运行结果程序运行结果:a=2.0b=6.0 x=-3.0第6页,此课件共39页哦选择结构v选择结构,也叫选择结构,也叫分支结构分支结构vJavaJava分支选择语句:分支选择语句:ifif语句语句 二选一二选一ifif语句扩展、语句扩展、ifif语句嵌套或语句嵌套或switchsw

6、itch语句语句 多选一多选一第7页,此课件共39页哦if 语句if (if (布尔表达式布尔表达式)语句语句1 1else else 语句语句22布尔表达式布尔表达式语句2falsetrue语句1布尔表达式语句语句1truefalse1.1.ElseElse子句是可选项子句是可选项2.2.若有若有,则布尔表达式的值为则布尔表达式的值为true,true,执行语句执行语句1 1,否则,否则,执行语句执行语句2 23.3.若无若无,则布尔表达式的值为则布尔表达式的值为true,true,执行语句执行语句1 1,否,否则,执行则,执行ifif语句的后续语句语句的后续语句4.4.语句语句1 1或语句

7、或语句2 2可以是单语句,也可以是复合语句等可以是单语句,也可以是复合语句等(花括号括起)(花括号括起)第8页,此课件共39页哦选择结构 Demo1:【例例3-43-4】输入输入2 2个整数,输出较小者个整数,输出较小者 解题:解题:1.1.利用利用ScannerScanner类的方法输入类的方法输入2 2个整数个整数2.2.IfIf语句进行判断,输出较小者语句进行判断,输出较小者【例补例补3-13-1】判断某一年份是否为润年判断某一年份是否为润年解题:解题:1.1.输入年份数据输入年份数据2.2.润年判断:条件是能被润年判断:条件是能被4 4整除但又不能被整除但又不能被100100整除或能被

8、整除或能被400400整除整除的公元年的公元年 year%4=0&year%100!=0|year%400=0year%4=0&year%100!=0|year%400=0第9页,此课件共39页哦选择结构 Demo2:例例3-5:3-5:求解求解ax+b=0(a0)ax+b=0(a0)的根的根 解题:解题:1.1.利用利用ScannerScanner类的方法输入类的方法输入a,ba,b的值的值2.2.若若a a不为不为0,0,则输出则输出-b/a;-b/a;若若a=0,a=0,则输出方程无解。则输出方程无解。第10页,此课件共39页哦选择结构(注意点)注意:注意:ifif语句中满足或不满足条件

9、执行的都是语句中满足或不满足条件执行的都是单语句单语句,若有多,若有多条语句必须用条语句必须用花括号花括号括起来构成一条括起来构成一条复合语句复合语句import java.util.*;import java.util.*;public class Score public class Score public static void main(String args)public static void main(String args)Scanner in=new Scanner(System.in);Scanner in=new Scanner(System.in);int score

10、;int score;System.out.print(System.out.print(请输入成绩请输入成绩:);:);score=in.nextInt();score=in.nextInt();if(score60)if(score60)System.out.print(System.out.print(很遗憾,没有及格。很遗憾,没有及格。););elseelse System.out.print(System.out.print(祝贺你,通过了祝贺你,通过了););System.out.print(System.out.print(再见再见););请输入成绩:56;很遗憾,没有及格。很遗

11、憾,没有及格。第11页,此课件共39页哦if 语句扩展形式ifif(布尔表达式(布尔表达式1 1)语句语句1 1else ifelse if(布尔表达式(布尔表达式2 2)语句语句2 2 else ifelse if(布尔表达式(布尔表达式n n)语句语句n nelseelse 语句语句n+1n+11.1.从上往下依次判断条件从上往下依次判断条件2.2.某个布尔表达式的值为某个布尔表达式的值为true,true,就执行相应的语句就执行相应的语句3.3.不再判断其余的条件,转而执行不再判断其余的条件,转而执行ifif语句的后续语句语句的后续语句条件之间相互排斥条件之间相互排斥第12页,此课件共3

12、9页哦import java.util.Scanner;public class Function public static void main(String args)Scanner in=new Scanner(System.in);float x,y;x=in.nextFloat();if(x0&x 10&x=20)y=10;else y=0.5f*x+20;System.out.println(x=+x);System.out.println(y=+y);例例3-6 分段函数分段函数xyx=000 x10 x10 x201020=a&ch=A&ch=a&ch=A&ch=Z)ch=(c

13、har)(ch+32);第15页,此课件共39页哦if 语句嵌套ifif(布尔表达式(布尔表达式1 1)语句语句1 1else else ifif(布尔表达式(布尔表达式2 2)语句语句2 2 else else 语句语句3 3if if 语句中可以包含语句中可以包含ifif语句,形成嵌套语句,形成嵌套ifif(布尔表达式(布尔表达式1 1)if if(布尔表达式(布尔表达式2 2)语句语句1 1 else else 语句语句22 else else 语句语句3 3注意:注意:1 1、条件之间上下包含、条件之间上下包含 2 2、elseelse总与离它最近的总与离它最近的ifif配对配对第16

14、页,此课件共39页哦if 语句嵌套Demo import java.util.*;public class T0 public static void main(String args)Scanner in=new Scanner(System.in);float x,y=0;x=in.nextFloat();if(x2)if(x10;i+)s+;System.out.println(i=+i+,s=+s);示例示例2:int i=0,s=0;for(i=1;i10;i+)s+;System.out.println(i=+i+,s=+s);执行结果执行结果:i=1,s=0执行结果执行结果:i=

15、10,s=9第25页,此课件共39页哦循环控制Demo1【例例3-93-9】计算计算10!10!=1*2*3*10!10!=1*2*3*10*10【例例3-103-10】计算计算1 15050之间的奇数和与偶数和之间的奇数和与偶数和【例补例补3-33-3】输入一个正整数输入一个正整数n n,输出,输出 2/1+3/2+5/3+8/5+.2/1+3/2+5/3+8/5+.的前的前n n项项之和,保留之和,保留4 4位小数位小数(不足不足4 4位时位时,不必用不必用0 0填满填满4 4位位)。解题解题:该序列从第该序列从第2 2项起项起1.1.每一项的分子是前一项分子与分母的和每一项的分子是前一项

16、分子与分母的和2.2.分母是前一项的分子分母是前一项的分子第26页,此课件共39页哦循环控制Demo2【例例3-13】计算计算Fibonacci数列中的前数列中的前20项。项。Fibonacci数列数列:前两项是:前两项是1、1,第三项是前二项之和,以后每一,第三项是前二项之和,以后每一项都是前二项之和。即为:项都是前二项之和。即为:1、1、2、3、5、8、13、21、34【例例3-14】判断素数判断素数解题解题:1.1.素数是除了素数是除了1 1及自身外,不能被其它数整除的自然数。及自身外,不能被其它数整除的自然数。2.2.对于一个自然数对于一个自然数k k,与,与2-(k-1)2-(k-1

17、)之间的每个整数进行相除之间的每个整数进行相除3.3.如果没有一个能被整除,则如果没有一个能被整除,则k k是素数;否则是素数;否则k k不是素数不是素数4.4.注意:注意:2 2是最小素数,负数、是最小素数,负数、0 0、1 1都不是素数都不是素数第27页,此课件共39页哦while 语句 v语句格式:语句格式:whilewhile(布尔表达式布尔表达式)循环体循环体v含义:含义:当表达式结果为当表达式结果为true时,重复执行循环体。时,重复执行循环体。v特点特点:先判断先判断,再执行再执行,循环可能一次也不执行循环可能一次也不执行truefalse逻辑逻辑表达式表达式循环体循环体循环体可

18、以是单一语句,也可以循环体可以是单一语句,也可以是复合语句(用花括号括起)是复合语句(用花括号括起)第28页,此课件共39页哦dowhile语句v语句格式语句格式dodo 循环体循环体whilewhile(布尔表达式布尔表达式);v含义:含义:重复执行循环体,直到布尔表达式为重复执行循环体,直到布尔表达式为falsefalse。v特点特点:先执行先执行,再判断再判断,循环至少执行一次循环至少执行一次 注意注意:两种格式循环体中至少有一条语句用以改变循环两种格式循环体中至少有一条语句用以改变循环条件条件,否则会死循环否则会死循环true循环体布尔表达式false第29页,此课件共39页哦循环控制

19、Demo3【例补例补3-43-4】编程:输入一批非负数,当输入负数时,表示输入编程:输入一批非负数,当输入负数时,表示输入结束。求这批非负数据的最大值、最小值和平均值。结束。求这批非负数据的最大值、最小值和平均值。【实验实验4000640006】读入读入1 1 个正实数个正实数epseps,计算并输出,计算并输出1 11/31/31/51/51/71/7,直到最后一项的绝对值小于,直到最后一项的绝对值小于epseps为止为止(要求每一项的绝要求每一项的绝对值均大于等于对值均大于等于eps,eps,并以并以floatfloat类型输出数据类型输出数据)。第30页,此课件共39页哦跳转语句跳转语句

20、vbreak语句:语句:使程序的流程从一个语句块内部跳转出来。通常在使程序的流程从一个语句块内部跳转出来。通常在switch和循环语句中使用。和循环语句中使用。vcontinue语句:语句:只在循环语句中使用。作用是终止当前这轮的循环,只在循环语句中使用。作用是终止当前这轮的循环,跳过本轮循环剩余的语句,直接进入下一轮循环。跳过本轮循环剩余的语句,直接进入下一轮循环。public static void main(String args)int i,sum;sum=0;for(i=1;i=10;i+)if(i%2!=0)continue;sum=sum+i;System.out.println

21、(sum=+sum);执行结果执行结果:sum=30sum=30第31页,此课件共39页哦多重循环 Multi-Loop例如:例如:for(for(;)/;)/外循环开始外循环开始 for(for(;)/;)/内循环开始内循环开始 /内循环结束内循环结束 /外循环结束外循环结束第32页,此课件共39页哦public class Primes public static void main(String args)int i,j;boolean flag;for(i=2;i=50;i+)/外循环,外循环,i:250 flag=true;j=2;while(j=i-1&flag)/内循环内循环,判

22、断素数判断素数 if(i%j=0)flag=false;j+;if(flag)System.out.print(i+);【例例3-16】求求2-502-50之间的素数之间的素数第33页,此课件共39页哦循环控制Demo3【例例3-15】计算输出计算输出1 1!、!、2 2!、!、5!5!以及它们的和以及它们的和解题解题:1.1.外循环外循环i i遍历遍历1-51-52.2.内循环求每个内循环求每个i i的阶程的阶程1!=12!=23!=64!=245!=120Total sum=153*【例补例补3-53-5】输出右边的图形输出右边的图形解题解题:1.1.外循环控制行外循环控制行2.2.内循环

23、控制每行输出内循环控制每行输出*个数个数第34页,此课件共39页哦常用算法总结欧几里德算法欧几里德算法:1.1.输入输入2 2个整数个整数a a和和b,b,比较比较a a和和b b,将,将a a设置为较大数,设置为较大数,b b为较小数。为较小数。2.2.a a除以除以b b,得余数为,得余数为r r3.3.判断判断r0r0,则,则b b赋值给赋值给a a,r r赋值给赋值给b b,重复步骤,重复步骤2-42-4,直至,直至r=0r=04.4.若若r=0r=0,则,则当前的当前的b b为最大公约数为最大公约数 最小公倍数为:最小公倍数为:(初始的初始的a)*(a)*(初始的初始的b)/(b)/

24、(当前的当前的b)b)一、一、求最值求最值1、最大、最小值、最大、最小值思路:思路:第第1个数赋值给个数赋值给max,min,对于后续输入的每个数,对于后续输入的每个数n if(maxn)min=n;2、最大公约数,最小公倍数、最大公约数,最小公倍数【例补例补3-6】输入两个整数,求它们的最大公约数和最小公倍数输入两个整数,求它们的最大公约数和最小公倍数第35页,此课件共39页哦常用算法总结二、二、统计统计1.累加(累加(1+3+5+100)、累积(求)、累积(求n!)2.平均值、计数平均值、计数【例补例补3-7】求表达式值。求表达式值。x、n由键盘输入由键盘输入分析分析:1.1.这是这是n

25、n项求和的例子,可表示成项求和的例子,可表示成sum=sum+itemsum=sum+item的形式的形式 2.2.第第i i项等于第项等于第i-1i-1项乘以项乘以x/(i+1)x/(i+1),即,即item=item*x/(i+1)item=item*x/(i+1)3.3.故循环体可由故循环体可由item=item*x/(i+1)item=item*x/(i+1)和和sum=sum+itemsum=sum+item构成。构成。4.4.初值问题:初值问题:sumsum初值为初值为0 0,itemitem初值应为初值应为1 1。第36页,此课件共39页哦常用算法总结分析分析:1.1.设公鸡设公

26、鸡X X只,母鸡只,母鸡Y Y只,小鸡只,小鸡Z Z只,列出方程式:只,列出方程式:X+Y+Z=100X+Y+Z=100 5X+3Y+Z/3=100 5X+3Y+Z/3=1002.2.二个方程求二个方程求3 3个未知数,无法用代数方法求解个未知数,无法用代数方法求解3.3.可将可将X X、Y Y、Z Z分别为分别为0-1000-100的每种可能性都去试一下,如符合,则就是其的每种可能性都去试一下,如符合,则就是其中的一种购买方案。中的一种购买方案。(事实上事实上X X和和Y Y的循环可分别为的循环可分别为0 0到到2020和和0 0到到33)33)三、穷举法三、穷举法【例补例补3-83-8】用

27、用100100元钱买元钱买100100只鸡,其中公鸡每只只鸡,其中公鸡每只5 5元,母鸡每只元,母鸡每只3 3元,小鸡元,小鸡3 3只只1 1元,问可买公鸡、母鸡、小鸡各多少只?元,问可买公鸡、母鸡、小鸡各多少只?第37页,此课件共39页哦常用算法总结【例补例补3-93-9】水仙花数:水仙花数:是一个三位数,它各位数字的立方和等于它本是一个三位数,它各位数字的立方和等于它本身。如:身。如:153=1*1*1+5*5*5+3*3*3153=1*1*1+5*5*5+3*3*3【例补例补3-103-10】求求1-10001-1000内的所有完数内的所有完数.完数:完数:因子和与它本身相等的数因子和与

28、它本身相等的数【例补例补3-113-11】输入一个十进制数输入一个十进制数,输出对应的二进制数输出对应的二进制数【例补例补3-133-13】求一个正整数的各位数字之和,如输入求一个正整数的各位数字之和,如输入2468924689,输出为,输出为2+4+6+8+9=292+4+6+8+9=29三、递推法三、递推法 如如【例例3-133-13】计算计算FibonacciFibonacci数列中的前数列中的前2020项。项。四、数学知识题四、数学知识题1.判断是否素数判断是否素数2.求水仙花数、完数;求水仙花数、完数;3.分段求函数值;进制转换等分段求函数值;进制转换等第38页,此课件共39页哦常用算法总结 *五、输出图形五、输出图形【例补例补3-123-12】输出如下所示图形。输出如下所示图形。第39页,此课件共39页哦

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com