版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计第3章Java程序的控制结构2目录
3.1
结构化程序设计的三种基本结构
3.2顺序语句
3.3分支语句
3.4循环语句
3.5跳转语句3.1结构化程序设计的三种基本结构3.2顺序语句按语句的顺序一条一条一次执行赋值语句方法调用语句每条语句以封号”;”结束举例a=3;System.out.println("HelloWorld!");3.3分支语句(1)单选条件语句单选条件语句的语句格式为:if(<表达式>) <语句>语句执行流程当if语句中的条件表达式为true时,执行一组相关的语句,否则不执行语句。说明:①条件表达式必须用一对圆括号“()”括起来;②语句体可以是一条语句,也可以是多条语句,若是多条语句,必须用一对花括号“{}”括起来构成一个复合语句。【例3.1】输入两个整数a和b,输出其中较大的一个数。importjava.util.Scanner;publicclassExample3_1{ publicstaticvoidmain(String[]args){ inta,b,max; Scannersc=newScanner(System.in); System.out.println("请输入第一个整数:"); a=sc.nextInt(); System.out.println("请输入第二个整数:"); b=sc.nextInt();
max=a; if(b>max){ max=b; } System.out.println("最大值是:"+max); }}(2)双选条件语句双选条件语句的语句格式为:if(<表达式>)<语句1>else <语句2>语句执行流程当if语句中的条件表达式为true时执行一组相关的语句,否则不执行语句【例3.2】输入两个整数a和b,输出其中较大的一个数。importjava.util.Scanner;publicclassExample3_2{ publicstaticvoidmain(String[]args){ inta,b,max; Scannersc=newScanner(System.in); System.out.println("请输入第一个整数:"); a=sc.nextInt(); System.out.println("请输入第二个整数:"); b=sc.nextInt(); if(a>b){ max=a; }else{ max=b; } System.out.println("最大值是:"+max); }}(3)多选条件语句多选条件语句的语句格式为:
if(<表达式1>)<语句1>
elseif(<表达式2>) <语句2>
elseif(<表达式3>) <语句3> ……
elseif(<表达式n-1>) <语句n-1>
else <语句n>【例3.3】有下列分段函数:publicclassExample3_3{ publicstaticvoidmain(String[]args){ intx,y; Scannersc=newScanner(System.in); System.out.println("请输入x的值:"); x=sc.nextInt(); if(x<0){ y=x+1; }elseif(x<10){ y=x*x-5; }else{ y=(int)Math.pow(x,3); } System.out.println("y的值为:"+y); }}2.if语句的嵌套if(<表达式1>)if(<表达式2>)<语句1>else<语句2>elseif(<表达式3>)<语句3>else<语句4>【例3.4】有下列分段函数:publicclassExample3_4{ publicstaticvoidmain(String[]args){ intx,y; Scannersc=newScanner(System.in); System.out.println("请输入x的值:"); x=sc.nextInt(); if(x>=0){ if(x>=10){ y=(int)Math.pow(x,3); }else{ y=x*x-5; } }else{ y=x+1; } System.out.println("y的值为:"+y); }}【例3.5】求三个整数a、b、c中的最大者,a、b、c由键盘输入。publicstaticvoidmain(String[]args){ Scannersc=newScanner(System.in); inta,b,c,max; System.out.println("输入第一个数:"); a=sc.nextInt();
。。。 System.out.println("输入第三个数:"); c=sc.nextInt(); if(a>b){ if(a>c) max=a; else max=c; }else{ if(b>c) max=b; else max=c; } System.out.println("最大的数是:"+max); }}3.3.2switch语句作用:实现多路分支switch(表达式){case常量1:
语句组1;break;case常量2:
语句组2;break;......case常量n-1:
语句组n-1;break;default:语句组n;}表达式类型:byte、char、short、int等每个case后面的常量表达式值必须互不相同
程序自动顺序执行case后的所有语句
case后面的常量表达式只起语句标号的作用,执行完一个case分支后,需使用break语句跳出switch语句,终止switch语句的执行default子句可选【例3.6】根据给定年、月,输出该月的天数publicclassExample3_6{ publicstaticvoidmain(String[]args){ intmonth=2; intyear=2004; intnumDays=0; switch(month){ case1: case3: case5: case7: case8: case10: case12: numDays=31; break; case4:case6: case9: case11: numDays=30; break; case2: if((year%4==0&&year%100!=0)||(year%400==0)) numDays=29; else numDays=28; } System.out.println("Year:"+year+",month:"+month); System.out.println("NumberofDays="+numDays); }}153.4循环语句循环三要素初始化部分:设置初始条件,一般只执行一次终止部分:设置终止条件,它应该是一个布尔表达式,每次循环都要求值一次,用以判断是否满足终止条件循环体部分:被反复执行的语句块3.4.1while语句作用实现“当型”循环结构。格式:while(<表达式>)
语句执行过程:先计算表达式的值,当表达式的值为真时,重复执行指定的语句;当表达式的值为假时,结束循环。
【例3.8】用while语句计算S=。importjava.util.Scanner;publicclassexample3_8{ publicstaticvoidmain(String[]args){ Scannersc=newScanner(System.in); inti,n,sum; System.out.println("输入一个整数:"); n=sc.nextInt(); sum=0; i=1; while(i<=n){ sum=sum+i; i++; } System.out.println("和是:"+sum); }}3.4.1while语句说明:while语句是先判断表达式i≤n是否成立,若条件成立,则将sum加i后赋给sum及i增加1;若条件不成立,则不执行相应语句,退出循环。当表达式的值一开始不成立,语句一次也不执行。如当输入n为0时,i≤n不成立,语句sum=sum+i;和i++;一次也不执行。在循环体中应有能不断修改循环条件的语句,最终能使循环结束,否则会形成“死循环”。如i++;语句,使i不断加1,直到大于n为止。
3.4.2do…while语句作用实现“直到型”循环结构格式:do<语句> while(<表达式>);
执行过程先执行语句,然后计算表达式的值,当表达式的值为真时,就重复执行语句;直到表达式值为假才结束循环。
【例3.9】用do-while语句计算S=。importjava.util.Scanner;publicclassexample3_9{ publicstaticvoidmain(String[]args){ Scannersc=newScanner(System.in); inti,n,sum; System.out.println("输入一个整数:"); n=sc.nextInt(); sum=0; i=1;
do{ sum=sum+i; i++; }while(i<=n); System.out.println("和是:"+sum); }}3.4.2do…while语句说明:do…while语句是先执行sum=sum+i;和i++;语句,后判断表达式i≤n是否成立。若条件成立,则继续执行循环体;若条件不成立,则不执行相应语句,退出循环。即使表达式的值一开始就不成立,语句仍要执行一次。如当输入n为0时,i≤n不成立,但语句sum=sum+i;和i++;也要执行一次。在循环体中应有能不断修改循环条件的语句,最终能使循环结束,否则会形成“死循环”。3.4.3for语句for语句格式for(<表达式1>;<表达式2>;<表达式3>)<语句>表达式1称为循环初始化表达式,通常为赋值表达式,简单情况下为循环变量赋初值;表达式2称为循环条件表达式,通常为关系表达式或逻辑表达式,简单情况下为循环结束条件;表达式3称为循环增量表达式,通常为赋值表达式,简单情况下为循环变量增量;语句部分为循环体,它可以是单个或复合语句。for语句的执行过程(1)计算表达式1的值;(2)计算表达式2的值,若表达式2的值为“真”时,则转到(3);若表达式2的值为“假”时,则结束循环;
(3)执行循环体语句;(4)计算表达式3的值,返回(2)继续执行。
【例3.10】用for语句计算S=。importjava.util.Scanner;publicclassexample3_10{ publicstaticvoidmain(String[]args){ Scannersc=newScanner(System.in); inti,n,sum; System.out.println("输入一个整数:"); n=sc.nextInt(); sum=0; for(i=1;i<=n;i++) sum+=i; System.out.println("和是:"+sum); }}三种循环的比较3.5跳转语句3.5.1break语句(1)作用:①终止switch语句与单循环语句的执行;②对多重循环循环语句,可从内循环体跳到外循环体。(2)格式:break;【例3.12】输入一个正整数,判断该数是否是素数。publicclassexample3_12{ publicstaticvoidmain(String[]args){ inti,a; Scannersc=newScanner(System.in); System.out.println("Inputaninteger:"); a=sc.nextInt(); for(i=2;i<=a-1;i++) if(a%i==0)
break; if(i==a) System.out.println(a+"isaprimenumber.\n"); else System.out.println(a+"is
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甘肃省兰州市兰化一中2026届高一数学第二学期期末联考模拟试题含解析
- 2026届辽宁省朝阳市柳城高级中学数学高一下期末综合测试模拟试题含解析
- 上海市宝山区行知中学2026届数学高一下期末调研模拟试题含解析
- 运管所群众监督制度
- 造价三级复核监督制度
- 采购监督制度管理规定
- 金融监督制度
- 镇安全监督制度
- 2026商用车智能化转型路径及市场需求预测报告
- 2026咖啡机租赁商业模式跑通条件与办公室场景渗透率分析报告
- 新河北省安全生产条例培训课件
- 《城市轨道交通供电系统继电保护与二次回路》课件 单元四 微机保护与自动装置
- 译林版(2024)八年级上册英语全册单词默写打印版(含答案)
- 建筑工人安全培训考试试题与答案
- 消防管道供货合同范本
- 食品区域保护合同范本
- 基于Unity3D的虚拟苏州园林漫游系统设计与实现
- 湖南省长沙市实验小学小学数学五年级下册期末试卷(培优篇)
- 人教版(2024)四年级全一册信息科技全册教案
- 大学高层次人才引进报名表
- 国际道路运输安全生产管理制度文本
评论
0/150
提交评论