收藏 分销(赏)

java循环结构PPT.ppt

上传人:a199****6536 文档编号:10509220 上传时间:2025-05-31 格式:PPT 页数:59 大小:2.70MB
下载 相关 举报
java循环结构PPT.ppt_第1页
第1页 / 共59页
java循环结构PPT.ppt_第2页
第2页 / 共59页
点击查看更多>>
资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,循环结构,1,2,分别写出运行结果,switch,(day),case,1:,System.out.println(,法国大餐,);,break,;,case,2:,case,4:,System.out.println(,满汉全席,);,break,;,case,7:,if,(weekOfMonth=1),System.out.println(,苹果餐,);,else,System.out.println(,香蕉餐,);,break,;,法国大餐,香蕉餐,weekOfMonth=1,day=1,假设,weekOfMonth=2,day=7,假设,回顾,3,理解循环的含义,会使用,while,循环结构,会使用,do-while,循环结构,会使用,for,循环结构,会使用调试解决简单的程序错误,本章目标,4,1,、,盈盈为了考验令狐冲夺冠的决心,要他说一百遍“我能行!”,System.out.println(,第,1,次说:我能行!,);,System.out.println(,第,2,次说:我能行!,);,System.out.println(,第,100,次说:我能行!,);,100,条,2,、,盈盈要他说,10000,遍“我是最棒的!”,怎么办?,为什么需要,循环,2-1,演示完整代码,5,为什么需要循环,2-2,System.out.println(,我是最棒的!,);,System.out.println(,我是最棒的!,);,System.out.println(,我是最棒的!,);,System.out.println(,我是最棒的!,);,System.out.println(,我是最棒的!,);,System.out.println(,我是最棒的!,);,System.out.println(,我是最棒的!,);,int,i=1,;,while,(,i,=100,),System.out.println(,我能行!,);,i+;,i=10000,我是最棒的!,);,没有使用循环结构,使用,while,循环,完整代码,1,完整代码,2,演示示例,2,:使用循环结构解决问题,1,6,什么是循环,打印,50,份试卷,10000,米赛跑,旋转的车轮,循环结构的特点,循环结构,循环条件,循环操作,锲而不舍地学习,生活中的循环,7,什么是,while,循环,特点:先判断,再执行,while,(,循环条件,),循环操作,符合条件,循环继续执行;否则,循环退出,循环中被重复执行的操作,int,i=1;,while,(i =30,),System.out.println(,我能行!,);,i+;,编码规范:,缩进、换行,循环操作,循环条件,真,假,8,2,、如何用程序描述下面这个故事呢?,为了备战,令狐冲锲而不舍地练习,盈盈严格把关,“,盈盈,怎么样,可以了吗?”,“不行,高音部分唱得还不是很好,钢琴还要继续练啊!”,没有听到“很棒”的评价,看来革命尚未成功,令狐冲并不气馁,:,早上,5,点练声,上午练钢琴,下午到声乐老师家练习唱歌,晚上练习舞蹈基本功。,循环条件,循环操作,使用,while,循环的步骤,1,、分析循环条件,2,、分析循环操作(重复执行的代码),3,、寻找循环变量改变的规律,怎样使用while循环3,-1,4,、套用,while,语法写出代码,5,、检查循环是否能够退出,9,怎样使用while循环3,-2,System.out.print(,表演得怎么样,?,(y/n):);,answer=input.next();,while,(,!answer.equals(y),),System.out.println(,早上,5,点开始练声,!,);,System.out.println(,上午练习钢琴,!,);,System.out.println(,下午到声乐老师家练习唱歌,!,);,System.out.println(,晚上练习舞蹈基本功,!);,System.out.print(,表演得怎样,?,(y/n):);,answer=input.next();,System.out.println(,圆满完成,!,);,循环条件,循环操作,比较两个,String,类型的值是否相等,演示示例,3,:,使用,while,循环结构,10,怎样使用,while,循环,3-3,3,、,录入班级人数和学员成绩,计算班级学员的平均成绩,循环条件:目前录入的成绩数目小于总人数,循环操作:录入学生成绩,并累加求和,改变循环变量,演示示例,4,:,使用,while,循环结构,while,(i=stuNum),System.out.print(,请输入学号,+i+,的成绩:,);,score=input.nextInt();,sum=sum+score;,i+;,avg=sum/stuNum;,11,计算,1+2+3+,+97+98+99+100=?,提示:,1,、循环条件是什么?,2,、循环操作是什么?,3,、,int sum=0;,int i=1;,while,参考代码,实验,12,while循环,常见问题,3-1,/*,打印,4,次“欢迎,ACCP,学员”*,/,public static void main(String args),int i =0;,while,(i 4),System.out.println(,欢迎,ACCP,学员,);,i+;,永远都不会退出的循环称为,死循环,循环一直执行,不会退出,哪里出错了?,13,while循环,常见问题,3-2,/*,打印,4,次“欢迎,ACCP,学员”*,/,public static void main(String args),int i=1;,while,(i 4 ),System.out.println(,欢迎,ACCP,学员,);,i+;,i 5 ),System.out.println(,欢迎,ACCP,学员,);,i+;,注意:,如果一开始条件就不满足,,while,循环一次都不执行,i 5,一次都没有打印,哪里出错了?,15,2010,年学校培养学生,8,万人,每年增长,25%,,请问按此增长速度,到哪一年培训学生人数将达到,20,万人?,提示:,1,、循环条件和循环操作分别是什么?,2,、,int year=2010;,double students=80000;,while,3,、,2015,年培训学生数量,=80000*(1+0.25),参考代码,小结,16,do-while,循环,4,、如何用程序讲述下面的故事?,苦练半年,眼看大赛在即,,盈盈提议:彩排一次,如果很令人满意,以后就不用彩排了,否则每天都要彩排,,直到现场表现让她满意为止!,他能否用动听的歌声震撼盈盈,用美妙的钢琴声博得赞赏呢?,do,循环操作,while,(,循环条件,);,while,(,循环条件,),循环操作,while,循环先判断,再执行不适合描述此故事,?,17,什么是,do-while,循环,do,循环操作,while,(,循环条件,);,先执行一遍循环操作,符合条件,循环继续执行;否则,循环退出,特点:先执行,再判断,循环操作,循环条件,真,假,18,怎样使用,do-,while循环2,-1,do,System.out.println(,唱歌,!,);,System.out.println(,演奏肖邦钢琴曲,!,);,System.out.print(,可以了吗,?,(y/n):);,answer=input.next();,while,(,!answer.equals(y),);,System.out.println(,大功告成,!,);,循环条件,先执行一遍循环操作,演示示例,5,:,使用,do-while,循环结构,19,怎样使用,do-while,循环,2-2,5,、连续录入学生姓名,输入,“,q,”,则系统退出,String name;,Scanner input=new Scanner(System.in);,do,System.out.print(,请输入学生姓名:,);,name=input.next();,while,(,!name.equals(q),);,System.out.println(,程序结束,);,演示示例,6,:,使用,do-while,循环结构,20,while,循环和,do-while,循环的区别,语法不同,初始情况不满足循环条件时,while,循环:一次都不会执行,do-while,循环:不管任何情况都,至少执行一次,do,循环操作,while,(,循环条件,),;,while,(,循环条件,),循环操作,先判断,再执行,先执行,再判断,比较,while,和,do-while,21,小结,2,使用,do-while,实现:输出摄氏温度与华氏温度的对照表,要求它从摄氏温度,0,度到,250,度,每隔,20,度为一项,对照表中的条目不超过,10,条。,参考代码,提示:,1,、循环操作:计算摄氏温度,并输出对照条目,2,、循环条件:条目,=10&,摄氏温度,=250,转换关系:华氏温度,=,摄氏温度*,9/5.0+32,22,小结,2,使用,do-while,实现:猜数字游戏,参考代码,提示:,1,、循环操作:输入数字,2,、循环条件:输入的数字与设定数字不相同,23,程序调试,调试,程序员,70%,的时间在做的事情,调试史话,找出并解决,bug,的过程,bug,缺陷,debug,调试,24,为什么需要程序调试,在编写程序过程中出现了错误,但不好发现和定位错误,怎么办?,通过代码阅读或者加输出语句查找程序错误,当程序结构越来越复杂时,需要专门的技术来发现和定位错误,就是,“,程序调试,”,25,当程序出错时,我们可以这样:,程序执行时忽闪一下就运行结束,怎么让程序一步一步运行?,程序调试,设置断点,单步运行,观察变量,逐条语句执行程序,观察程序执行情况,发现问题,解决问题,断点:程序暂停执行的代码行,什么是程序调试,26,步骤,1,:分析错误,设置断点,步骤,2,:启动调试,启动调试,双击对应代码行的左侧边栏即可设置断点,如何进行程序调试,4-1,27,步骤,3,:单步运行,调试启动后,运行到设置断点的代码行将停住,点击,F6,键可以单步运行程序,观察程序运行过程,单击按钮,单步运行,单击“继续”按钮或,F8,,执行时只在断点处停下,如何进行程序调试,4-2,F5,:单步跳入,F6,:单步跳过,28,步骤,4,:观察变量,单步运行时可以在,“,变量,”,视图中看到变量当前的值,如何进行程序调试,4-3,29,步骤,5,:发现问题,变量,i,值变为,5,时就退出了循环,循环只进行,4,次,步骤,6,:修正代码,重新运行,修改循环条件为:,i=5,步骤,7,:解决问题,如何进行程序调试,4-4,30,小结,3,程序调试的目的?,程序调试的主要方法?,调试的主要步骤,找出缺陷原因,修正缺陷,设置断点、单步执行、观察变量,猜测出错位置,设置断点,启动调试,单步运行,观察变量的值,发现问题,修正代码,重新运行,解决问题,31,计算,100,以内偶数之和,训练要点:,while,循环结构,程序调试,需求说明:,编程实现:计算,100,以内(包括,100,)的偶数之和,观察每一次循环中变量值的变化,实现思路:,声明整型变量,num,和,sum,循环条件:,num=100,循环操作:累加求和,讲解需求说明,完成时间:,20,分钟,32,整数颠倒输出,训练要点:,while,循环结构,需求说明:,程序调试,循环计算余数并输出,该数除以,10,该数为,0,退出循环,实现思路:,1,、声明变量,2,、循环体,3,、循环条件,讲解需求说明,完成时间:,20,分钟,33,为什么使用,for,循环,回顾问题,1,:令狐冲说一百遍,“,我最棒,”,共同点:循环次数固定,int i=0;,while(i100),System.out.println(,我最棒,);,i+;,for(int i=0;i100;i+),System.out.println(,我最棒,);,for,比,while,更简洁,使用,for,循环,使用,while,循环,34,for,循环的语法和执行顺序,什么是,for,循环,for,(,;,;,),;,条件为,true,循环体被执行,for,(,int,i=0;i 100;i+),System.out.println(,我最棒,);,代码规范:,格式对齐、代码的缩进,表达式,1,表达式,2,表达式,3,循环操作,参数初始化,条件判断,更新循环变量,1,2,4,3,35,如何使用,for,循环,3-1,1,、,循环录入某学生的,5,门课成绩,计算平均分,循环次数,:,5,循环条件,:循环的次数不足,5,,继续循环,循环操作,:录入成绩,计算成绩之和,使用,for,循环结构的步骤,1,、分析循环条件和循环操作,2,、套用,for,语法写出代码,3,、检查循环是否能够退出,结合问题,1,36,如何使用,for,循环,3-2,/,省略声明变量,for,(int i=0;i 5;i+)/循环5次录入5门课成绩,System.out.print(请输入5门功课中第+(i+1)+门课的成绩:);,score=input.nextInt();,sum=sum+score;,avg=sum/5;/计算平均分,System.out.println(name+的平均分是:+avg);,初始值:,i=0,循环条件:,i5,循环变量改变:,i+,循环操作执行,5,次,演示示例,1,:使用,for,循环结构,完整代码,37,如何使用,for,循环,3-3,2,、,输出如图所示加法表,for,(,int,i=0,j=val;i=val;i+,j-),System.out.println(i+j+=+(i+j);,1,、循环初始化:,i=0,;,j=,输入值,2,、循环条件:,i=,输入值,3,、循环操作:计算,i+j,4,、循环变量的改变:,i+,,,j-,完整代码,表达式,3,可以是用“,”隔开的多,个表达式,运算顺序从左到右,表达式,1,中可以声明多个同一,类型的值并赋值,用“,”隔开,演示示例,2,:使用,for,循环结构,38,for,循环常见问题,4-1,for,(;i10;i+),System.out.println(,这是,+i);,int,i=0;,编译错误:,变量,i,没有初始化,for,(;),;,不能省略,可省略,表达式,1,省略,循环变量,的初始值在,for,语句之前,由赋值语句取得,39,for,循环常见问题,4-2,for,(,int,i=0,;i+),System.out.println(,这是,+i);,编译正确,但是缺少,循环条件,造成死循环,40,for,循环常见问题,4-3,for,(,int,i=0,;i10;),System.out.println(,这是,+i);,i+,;,省略表达式,3,,在循环体内应设法改,变循环变量的值以结束循环,编译通过,但是循环变量的值无变化,造成死循环,41,for,循环常见问题,4-4,for,(;),System.out.println,(,这是测试,);,表达式全省略,无条件判断,循环变量无改变,,应在循环体内设法结束循环,否则会造成死循环,死循环,42,小结,1,求,1100,之间不能被,3,整除的数之和,(使用,for,循环结构),参考代码,43,为什么需要,break,语句,int i=2;,switch(i),case 1:,System.out.println(,星期一,);,break;,case 2:,System.out.println(,星期二,);,break;,/,其他语句,遇到,break,,立即跳出,switch,语句,回顾,break,用于,switch,语句,描述,4000,米长跑比赛,for(int i=0;i10;i+),跑,400,米;,if,(不能坚持),break;/,退出比赛,第,8,圈,,快累死了,我要退出,44,什么是,break,语句,break,:改变程序控制流,用于,do-while,、,while,、,for,中时,可跳出循环而执行循环后面的语句,while,(),break,;,跳出整个循环,break,通常在循环中与条件语句一起使用,45,如何使用,break,语句,2-1,3,、循环录入某学生,5,门课的成绩并计算平均分,如果某分数录入为负,停止录入并提示录入错误,循环录入成绩,判断录入正确性:录入错误,使用,break,语句立刻跳出循环;否则,累加求和,演示示例,3,:使用,break,语句,46,如何使用,break,语句,2-2,for(int i=0;i 5;i+),/,循环,5,次录入,5,门课成绩,System.out.print(,请输入,5,门功课中第,+(i+1)+,门课的成绩:,);,score=input.nextInt();/,从控制台接收数据,if,(score 0),wrong=false;/,出错标识,break;,/,退出循环,sum=sum+score;,循环外的语句,对录入的分数进行判断,如果小于,0,,标记出错状态,并立即跳出整个,for,循环,问题,3,完整代码演示,47,110,之间的整数相加,得到累加值大于,20,的当前数,1,、使用循环进行累加,从,1,到,10,2,、判断累加值是否大于,20,3,、如果大于,20,,则跳出循环,并打印当前值,/定义一个变量,进行累加,int sum=0;,for,(int i=1;i 20),System.out.print(当前数是:+i);,break,;,参考代码,小结,2,演示运行效果,48,什么是,continue,语句,continue,:只能用在循环里,continue,作用:跳过循环体中剩余的语句而执行下一次循环,while,(),continue,;,继续下一次循环,通常与条件语句一起使用,加速循环,for,(int i=0;i10;i+),跑,400,米;,if,(!口渴),continue,;/,不喝水,继续跑,接过水壶,喝水,;,示例,49,为什么需要,continue,语句,4,、,循环录入,Java,课的学生成绩,统计分数大于等于,80,分的学生比例,1,、通过循环,获得分数大于等于,80,分的学生人数,num,2,、判断:如果成绩,80,,不执行,num+,,直接进入下一次循环,50,如何使用,continue,for(int i=0;i total;i+),System.out.print(,请输入第,+(i+1)+,位学生的成绩:,);,score=input.nextInt();,if,(score 80),continue;,num+;/,大于等于,80,分的人数,double,rate=(,double,)num/total*100;,System.out.println(80,分以上的学生所占的比例为:,+rate+%);,对录入的分数进行判断,如果小于,80,,跳出本次循环,执行下一次循环,问题,4,完整代码,51,1,、使用循环进行累加,循环的范围是从,1,至,10,2,、判断当前数是否为偶数,3,、如果为奇数跳过,执行下一个循环,如果为偶数,进行累加,int,sum=0;/定义一个变量,进行累加,for,(,int,i=1;i=10;i+),if,(i%2=1),continue;,/如果i,为奇数,结束本次循环,进行下一次循环,sum=sum+i;,System.out.print(1-10之间的偶数和是:+sum);,小结,3,求,110,之间的所有偶数和,完整代码,演示运行效果,52,1,、使用循环进行累加,循环的范围是从,1,至,10,2,、判断当前数是否为偶数,3,、如果为奇数跳过,执行下一个循环,如果为偶数,进行累加,while,(true),System.out.print(“,请输入密码:”,);,int mima=in.nextInt();,if,(mima!=123456),continue;,/如果,密码不是,123456,,结束本次循环,进行下一次循环,break;,System.out.println(“,密码正确!”,);,小结,3,编程完成输入密码程序段。要求:密码为,123456,,输入不对继续输入直到输入正确为止,演示运行效果,53,对比,break,和,continue,对比方法:通过,Eclipse,单步运行,观察,程序执行顺序,变量值的变化,观察案例,案例,1,:,110,之间的整数相加,得到累加值大于,20,的当前数,案例,2,:求,110,之间的所有偶数和,54,对比,break,和,continue,使用场合:,break,可用于,switch,结构和循环结构中,continue,只能用于循环结构中,作用(循环结构中),break,语句终止某个循环,程序跳转到循环块外的下一条语句;,continue,跳出本次循环,进入下一次循环,55,小结,4,说一说在循环中使用,continue,和,break,的区别?,输出值是多少?如果将,break,替换成,continue,,输出值又为多少?,int sum=0;,for(int i=0;i5;i+),if(i=3),break;,sum=sum+i;,System.out.println(sum=+sum);,sum=3,sum=7,替换后,56,循环结构总结,2-1,到目前为止所学的循环结构有哪些?,需要多次重复执行一个或多个任务的问题考虑使用,循环来解决,57,循环总结,2-2,int i=0;,int sum=0;,while(i10),sum=sum+i;,i+;,int i=0;,int sum=0;,do,sum=sum+i;,i+;,while(i10);,int sum=0;,for(int i=0;i10;i+),sum=sum+i;,1,2,3,4,1,2,3,4,1,2,3,4,while,和,for,相同,先进行判断,后执行循环体内容,do-while,是先执行,后判断,至少执行一次,指出各种循环结构的执行顺序,循环的次数确定的情况,通常选用,for,循环,循环次数不确定的情况,通常选用,while,和,do-while,结构,58,控制流语句小结,顺序结构:语句顺序执行,分支结构:语句在满足条件下执行,循环结构:语句在满足条件下循环执行多次,跳转语句,if,if-else,if-else if-else,switch,while,do-while,for,break,continue,59,总结,循环结构的特点是什么?,while,循环和,do-while,循环有什么区别?,for,循环结构的特点是什么?,在循环中使用什么方式跳出或终止循环?,break,与,continue,之间的差别是什么?,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服