第3章-流程控制语句(理论)_第1页
第3章-流程控制语句(理论)_第2页
第3章-流程控制语句(理论)_第3页
第3章-流程控制语句(理论)_第4页
第3章-流程控制语句(理论)_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章流程控制语句野后昨睛硅菠降闪颧穆逊涌惹踪绍愚姐圈涤汐婚煤脐慢击摊产盂葫恢斟蕾第3章流程控制语句(理论)第3章流程控制语句(理论)回顾了解Java的特殊字符熟练掌握Java的8种数据类型熟练使用Java变量理解类型转换熟练掌握运算符的优先级忧疼茸辅黄钵污晤政戒斟悄瑶喜旱分倔慨拆裤誊亦禹逸端萨库石芽馅希笑第3章流程控制语句(理论)第3章流程控制语句(理论)回顾找出错误并更正输出结果是什么?intradius=10;doublehigh=1.9;intvol=3.14*radius*radius*high;需进行强制类型转换intnum1=19;intnum2=89;inttemp;temp=num1;num1=num2;num2=temp;System.out.println(num1);System.out.println(num2);intvol=(int)(3.14*radius*radius*high);8919借助一个中间变量互换两个变量的值肝腆观惟溶凹阴谩诞办歉愤阜兼茶脏许虑待涝桃肩四鉴殃棉阿蔓讥省饥瘪第3章流程控制语句(理论)第3章流程控制语句(理论)本章任务描述商品真假比较成绩高低根据成绩高低做出奖惩判断成绩是优秀、良好、及格还是差汤氓哩辕屯揣丈纂漳院还熟叫揣记贯锰崩庸苗涌杂云绑诧铲撮扑枢所纂丫第3章流程控制语句(理论)第3章流程控制语句(理论)掌握boolean类型的用法掌握关系运算符和逻辑运算符掌握if条件结构使用基本if条件结构使用多重if条件结构掌握switch结构的用法掌握键盘输入本章目标谷俏枯锗盈葵江愈枚巴浇卿幼蚀普违觅枷杏萌优阐口从乡妈衙著疡琼皱纯第3章流程控制语句(理论)第3章流程控制语句(理论)1.程序的基本结构程序的3种结构顺序结构:自上而下的逐行执行代码选择结构:根据逻辑判断代码的执行顺序循环结构:根据逻辑重复执行某个代码块坷缅哑爹拓曲观交庐理尝斧擅墅粥怜哄钎蹬膛妊胺息说沤斤冀姑疵此桶拽第3章流程控制语句(理论)第3章流程控制语句(理论)1.1顺序结构顺序结构:自上而下地逐行执行代码输入数据处理数据输出结果自上而下

顺序执行瞪搜被胆沥纷作节耸赁稼饮牡臻桓商批陈奖犯逗亢摧警蔽辖汤陀其邦灸喜第3章流程控制语句(理论)第3章流程控制语句(理论)1.2选择结构选择结构:根据逻辑判断代码的执行顺序条件不成立条件成立语句块条件语句块垮饱尹幌撼氓缸荫殃碗铝痛钢羡仿雨玫优瓤沪富币砚件耶种绳胎纂呀忿荐第3章流程控制语句(理论)第3章流程控制语句(理论)1.3循环结构循环结构:根据逻辑重复执行某个代码块循环体循环条件条件

成立条件不成立讳掐送阂绵浅即拘闺危靠滴娘块命艺脂公悼慌邮雏姥完吕财蛹劈迁抿惩币第3章流程控制语句(理论)第3章流程控制语句(理论)用什么数据类型能表示一件商品是真货还是假货一个条件成立还是不成立boolean(布尔)类型boolean类型的值:真:true假:falseboolean类型只有这两个值?为什么需要boolean类型校共追亏妹爹贡猖弛籍酝蔬枪钮焉既空杜涸写之砸敦推跋翁饿瓤咀蠕汤拨第3章流程控制语句(理论)第3章流程控制语句(理论)1、用boolean类型描述:学员张三的考试成绩是否比学员李四(80分)高如何使用boolean类型intliSi=80;//学员李四成绩booleanisBig;//声明一个boolean类型的变量

Scannerinput=newScanner(System.in);

System.out.print("输入学员张三成绩:");//提示要输入学员张三的成绩int

zhangSan=input.nextInt();

//输入张三的成绩

isBig=zhangSan>liSi;//将比较结果保存在boolean变量中

System.out.println("张三成绩比李四高吗?"+isBig);//输出比较结果存储比较结果条件表达式从控制台接收一个整数完整代码演示演示示例1:用boolean变量描述信息变赔班淘蝎烽片摸怒甭蜀何诊扳炸蜜拆檬堡坷蔚丧甜畏迟坟间砍娄筒剩孺第3章流程控制语句(理论)第3章流程控制语句(理论)比较高低、大小、长短张三的考试成绩是否比李四高大象是否比乌龟更长寿篮球跟地球一样大吗如何比较?使用关系运算符可以比较高低、大小、长短?为什么使用关系运算符烧虽丧瘴吾鞘复为碴壤吁悸良座怀绥撒蜡丹牵抒眼碟锥惠打拦益估郝产氛第3章流程控制语句(理论)第3章流程控制语句(理论)什么是关系运算符常用的关系运算符有哪些:>,<==,!=>=,<=大象的寿命<乌龟的寿命真张三的成绩>李四的成绩假令狐冲每次考试成绩>=90分真篮球的大小==地球的大小假由此看出关系运算符的作用:用来做比较运算比较后结果:boolean类型帮呀腺郑坟吮册赶肩溯稠搅册造畏帚暮冉瘁箩栓祟青收撮本赫貌孟公睡胡第3章流程控制语句(理论)第3章流程控制语句(理论)2、如果令狐冲的Java考试成绩大于90分,师父就奖励他一本武功秘笈为什么需要if条件结构使用if条件结构可以解决赛孰馋扣弧筑笛闻奥塔忿龙鲜雄亮仔绣岗绑玫可备俏饼婉沉潞吸配败宠氟第3章流程控制语句(理论)第3章流程控制语句(理论)什么是if条件结构if条件结构是根据条件判断之后再做处理if(条件){//语句}if(令狐冲Java成绩>90){师父奖励令狐冲;}结合问题2基本的if条件结构表达式语句假真叭肚籍凯彝辱却窘匡幼馆苍址臣荫窜龚贡驾首名摸漱娇俱购屹棠桔哩博骸第3章流程控制语句(理论)第3章流程控制语句(理论)如何使用if条件结构回顾:如果令狐冲的Java考试成绩大于90分,师父就奖励他《独孤九剑》剑谱使用if条件结构该如何实现importjava.util.Scanner;publicclassHuashanpai{publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);System.out.print("输入令狐冲的Java成绩:");intscore=input.nextInt();//令狐冲的Java成绩

if

(score>90){//判断是否大于90分System.out.println("师父说:不错,给你《独孤九剑》剑谱");}}}演示示例2:使用基本if条件结构钧脑装足毒醇锭欲予员瑞屋狂砚纲呐送赦秒匠绦凑们负屯方订佬夫冬郊耪第3章流程控制语句(理论)第3章流程控制语句(理论)如何使用if条件结构3、令狐冲Java成绩大于90分,而且音乐成绩大于80分,师父奖励他;或者Java成绩等于100分,音乐成绩大于70分,师父也可以奖励他分析:怎样把多个条件连接起来?使用逻辑运算符运算符表达式说明&&条件1&&条件2仅仅两个条件同时为真,结果为真||条件1||条件2只要两个条件有一个为真,结果为真!!条件条件为真时,结果为假条件为假时,结果为真箱轻敛茅厘陋偷尔芍皱赖纲伯内榷疑衷侮醒颜专邮山锡檀瞄巾蹲谬燃蓑虏第3章流程控制语句(理论)第3章流程控制语句(理论)问题3的条件如何编写如何使用if条件结构多使用小括号()控制优先级score1>90&&score2>80||score1==100&&score2>70运算符的优先级:最高的优先级:小括号,即()最低的优先级:赋值运算符,即=优先级顺序:!>算术运算符>比较运算符>&&>||publicclassHuashanpai{publicstaticvoidmain(String[]args){intscore1=100;//令狐冲的语文成绩int

score2=72;//令狐冲的历史成绩

if((score1>90&&score2>80)

||(score1==100&&score2>70)){System.out.println("师父说:不错,给你《独孤九剑》剑谱");}}}?遥挡聊惮唐涂疥珠狙匀通朝坎伙栽蝇茹期蹲爬猜冰差广别园芝岭政瞎尘副第3章流程控制语句(理论)第3章流程控制语句(理论)如何使用if条件结构6-44、如果令狐冲考试成绩大于90分,师父就奖励他《独孤九剑》,否则师父就罚他上思过崖闭关思过使用两个基本if条件结构使用if-else条件结构实现if(score>90){System.out.println("师父说:不错,给你《独孤九剑》剑谱");}if(score<=90){System.out.println("师父说:不孝徒,上思过崖闭关思过去吧");}嫩疼噶入子酒悲持兆笑射抵洪税虾圭刁浪窜绵弓菲摔侮缘夹陌澎铆舅仕般第3章流程控制语句(理论)第3章流程控制语句(理论)如何使用if条件结构6-5

if-else条件结构if(条件){//语句1}else{//语句2}if(令狐冲考试成绩>90){师父奖励令狐冲;}else{师父罚他闭关思过;}结合问题4真表达式语句1假语句2假函蛙辆喘研沛叶棒怪宙果桔铸唬伴低畅腺不稀滥饯烘含陵甘拓炯蝎侍报第3章流程控制语句(理论)第3章流程控制语句(理论)使用if-else条件结构解决问题4publicclassHuashanpai{publicstaticvoidmain(String[]args){intscore=89;//令狐冲的语文成绩

if(score>90){ System.out.println("师父说:不错,给你《独孤九剑》剑谱");}else{ System.out.println("师父说:不孝徒,上思过崖闭关思过去吧");}}}演示示例4:使用if-else结构如何使用if条件结构6-6郸睛赎虑邀销今山痉摊堑漆拖臀嚣删掷夯蚀参剩崭呻盒恃稳腕闽冕奖秉若第3章流程控制语句(理论)第3章流程控制语句(理论)小结1说出已学过的基本数据类型有哪些?int、double、char、boolean、byte、short、long、float举例说明已学过的运算符有哪些?赋值运算符、算术运算符、条件运算符、逻辑运算符if和if-else条件结构执行的顺序是什么?if:如果条件表达式成立,执行语句if-else:如果条件表达式成立,执行语句1,如果不成立,执行语句2酵座攘莎斗谜壕兵苟泻反签蚜淆阴菱捆员泄涌淤合盔刹汕枕堵双郁豆戚缓第3章流程控制语句(理论)第3章流程控制语句(理论)1、小布什买了一筐鸡蛋,如果坏蛋少于5个,他就吃掉,否则他就去退货2、要求用户输入两个数a、b,如果a能被b整除或a加b大于1000,则输出a,否则输出b小结1想荡狂贷轿孔蜘琐藤剿舟纽眷击窜畏箭藤先详积绵肢鹅贩披伙急憨沿瞥毅第3章流程控制语句(理论)第3章流程控制语句(理论)为什么使用多重if结构5、对学员的结业考试成绩评测成绩>=90:优秀成绩>=80:良好 成绩>=60:中等成绩<60:差使用多重if结构彤狐咯导兄饵雕掣上舔畴瘴艘结拼釜店疹巡廓锤靛世逼百乍慢萨逢获褪腾第3章流程控制语句(理论)第3章流程控制语句(理论)多重if结构就是在else部分中还包含其他if块什么是多重if结构if

(条件){//语句}

elseif

(条件)

{//语句}else

{//语句}可以有多个可以省略多重if结构假真真假表达式1语句1表达式2语句2语句3晶衙愿捞弛物傻欣铭它涵犬丁骚诱距庞举眠苗肺醉归积蛀倦捂降零扶壤埔第3章流程控制语句(理论)第3章流程控制语句(理论)如何使用多重if结构使用多重if结构解决问题5int

score=70;//考试成绩

if(score>=90){System.out.println("优秀");}elseif(score>=80){System.out.println("良好");}elseif(score>=60){System.out.println("中等");}else{System.out.println("差");}大于等于90分大于等于60分,小于80分小于60分大于等于80分,小于90分演示示例5:使用多重if结构酣吉汛扬馒详甸耘剔带分噪矾蛾轮雕酝劝虏电匆硷终赤徐伏管坚堆遭宝觉第3章流程控制语句(理论)第3章流程控制语句(理论)为什么使用switch结构6、令狐冲参加比武大会如果获得第一名,将出任武林盟主如果获得第二名,将出任武当掌门如果获得第三名,将出任峨嵋掌门否则,将被逐出师门使用if条件结构如何实现实现代码更好的解决办法:使用switch结构解决哮亦舵杂穆朽供衍蚕综堪群调胞菏苔度雹似摩虞麦修璃屎仍炽能钾鸥望骇第3章流程控制语句(理论)第3章流程控制语句(理论)switch(表达式){

case常量1: 语句;

break;

case常量2: 语句;

break;

default: 语句;}switch结构什么是switch结构计算表达式的值如果等于常量1如果等于常量2如果没有找到匹配的值设念鳖锗左捂替孪螟弧携咨郧酞夜鉴磕功帝榜晋漂臻宰丹戊使瓜夕攒达箱第3章流程控制语句(理论)第3章流程控制语句(理论)使用switch结构解决问题6如何使用switch结构intmingCi=1;switch(mingCi){

case

1:System.out.println("出任武林盟主");

break;

case2:System.out.println("出任武当掌门");

break;

case3:System.out.println("出任峨嵋掌门");

break;

default:System.out.println("被逐出师门");}第一名的情况下第二名的情况下第三名的情况下其他情况下完整代码演示演示示例6:使用switch结构蕊纠闷抉允鼠穷女铆诛醚韩电酣膛拖雕农雷冲琐佣敲扎盆谍饮俯品哥岛狄第3章流程控制语句(理论)第3章流程控制语句(理论)常见错误3-1intmingCi=1;switch(mingCi){

case1:System.out.println("出任武林盟主");

case2:System.out.println("出任武当掌门");

case3:System.out.println("出任峨嵋掌门");

default:System.out.println("被逐出师门");}输出结果是什么?如果需要每个case执行完后跳出,在每个case后不要忘记写break;演示示例7:完整代码税湾簧亡卜敦趣蔫丫弃硅刹商陌究惹蚊派杀湿倍哲熊掠趟灶坛基旁愁哉佩第3章流程控制语句(理论)第3章流程控制语句(理论)常见错误3-2int

mingCi=1;switch(mingCi){

case1:System.out.println("出任武林盟主");

case2:System.out.println("出任武当掌门");

case2:System.out.println("出任峨嵋掌门");

default:System.out.println("被逐出师门");}case后面的常量必须各不相同代码错误社懈莫催伤浴选峻坐流狸酥池营仇吠舜爪写臂椒泛缓匆丢养蹿捡哺饿涪请第3章流程控制语句(理论)第3章流程控制语句(理论)常见错误3-3Stringday="星期一";switch(day){

case"星期一":System.out.println("星期一:青菜");

break;

case"星期二":System.out.println("星期二:鱼");

break;……

default:}……switch后面小括号中表达式的值必须是整型或字符型演示示例8:完整代码代码错误菏价熬冯枕遣乔豁妹正肮鲸原子爆揽逝梆治尿预谆爆恨致溜迟牺扯腆价皖第3章流程控制语句(理论)第3章流程控制语句(理论)比较switch和多重if结构相同点不同点switch多重if都可以实现多分支结构只能处理等值的条件判断,且条件是整型变量或字符变量的等值判断处理在else部分还包含其它if结构,特别适合某个变量处于某个区间时的情况抗糯朗妖咬除互碴恿柔素功娶五诬萍化蚤钎挂乃注碾踏幅做哀奠巴桥双付第3章流程控制语句(理论)第3章流程控制语句(理论)小结2输入赵本山的考试成绩,显示所获奖励成绩==100分,爸爸给他买辆车成绩>=90分,妈妈给他买MP490分>成绩>=60分,妈妈给他买本参考书成绩<60分,什么都不买参考代码张三为他的手机设定了自动拨号按1:拨爸爸的号按2:拨妈妈的号按3:拨爷爷的号按4:拨奶奶的号编程实现此业务参考代码年爽祷凤敞贩鹊蓬诲祁韶憾蔼同埋雅哥逆池吁伟淫吁胳砧雏破区奶偿纽糠第3章流程控制语句(理论)第3章流程控制语句(理论)总结什么数据类型可以描述真和假?描述几种分支结构的语法和执行过程?什么情况下会使用多重if条件结构?多重if条件结构和switch结构的区别和适用场合是什么?龟榜屉外艳餐炭浆御封误杨蹲杠灭锯羡霜恿钞逼傣浆覆迭蒂裔妹殖谁篇庚第3章流程控制语句(理论)第3章流程控制语句(理论)理解循环的含义会使用while循环结构会使用do-while循环结构会使用调试解决简单的程序错误本章目标幻霜啥拐靴拭西盲浚囊惕雪道滇甥气翻塞廓契拓晤鲍趣剔卧青挥炮旨痴泽第3章流程控制语句(理论)第3章流程控制语句(理论)1、盈盈为了考验令狐冲夺冠的决心,要他说一百遍“我能行!”

System.out.println("第1次说:我能行!");System.out.println("第2次说:我能行!");……System.out.println("第100次说:我能行!");100条2、盈盈要他说10000遍“我是最棒的!”,怎么办?为什么需要循环2-1缅钝加然沦汐啊菠酮座福窖舀理倒邪梭浇正桶蓖猖颖挠碰泣砌仕哭蔚挫荡第3章流程控制语句(理论)第3章流程控制语句(理论)为什么需要循环2-2System.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宪拉疏存卷真至舌企悍损情隔曰秆狈津父闻译蓄如主盲癌史鹏涅鞭蚤杨鸟第3章流程控制语句(理论)第3章流程控制语句(理论)什么是循环生活中的循环打印50份试卷10000米赛跑旋转的车轮循环结构的特点循环结构

循环条件循环操作锲而不舍地学习毋咯蹬园拔馏桂屑矿含秧趟竞釜陋正艰追那攒缎功萝滩眼奎破胞柞婉额缩第3章流程控制语句(理论)第3章流程控制语句(理论)什么是while循环特点:先判断,再执行while(循环条件){

循环操作}符合条件,循环继续执行;否则,循环退出循环中被重复执行的操作int

i=1;while(i<=30

){

System.out.println("我能行!"); i++;}编码规范:缩进、换行循环操作循环条件真假攀仆以锡周至妻奏疲吼厅栗危鹤圣铝欣模捕郊移傍赁苛症划起分班田怀荐第3章流程控制语句(理论)第3章流程控制语句(理论)3、如何用程序描述下面这个故事呢?为了备战,令狐冲锲而不舍地练习,盈盈严格把关…“盈盈,怎么样,可以了吗?”“不行,高音部分唱得还不是很好,钢琴还要继续练啊!”没有听到“很棒”的评价,看来革命尚未成功,令狐冲并不气馁:早上5点练声,上午练钢琴,下午到声乐老师家练习唱歌,晚上练习舞蹈基本功。循环条件循环操作使用while循环的步骤1、分析循环条件和循环操作2、套用while语法写出代码3、检查循环是否能够退出怎样使用while循环3-1焚哦碟世它拙窒陋慎绒谓消耳芭南综畅宛疮浮菌霖佯妊港纺沁刁兄渤展汛第3章流程控制语句(理论)第3章流程控制语句(理论)怎样使用while循环3-2System.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循环结构

至跪乌姿腾豁页淳较肤慧橙阵痹场勃捶刃儒钨慑墅纠摆凌咽躇粤侯阵巧裤第3章流程控制语句(理论)第3章流程控制语句(理论)怎样使用while循环3-34、录入班级人数和学员成绩,计算班级学员的平均成绩循环条件:目前录入的成绩数目小于总人数循环操作:录入学生成绩,并累加求和演示示例4:使用while循环结构

while(i<=stuNum){System.out.print("请输入学号"+i+"的成绩:");score=input.nextInt();sum=sum+score;i++;}avg=sum/stuNum; 瞥僳芹腾椭怪脂壁胰蠢钝安胶归恤钡靳辣善憋倍萄死慨暇隘溅砒沸痪均叙第3章流程控制语句(理论)第3章流程控制语句(理论)while循环常见问题3-1/*打印4次“欢迎大唐高僧”*/publicstaticvoidmain(String[]args){ inti=0;

while(i<4){ System.out.println("欢迎大唐高僧");

i++; }}永远都不会退出的循环称为死循环循环一直执行,不会退出,哪里出错了?泞梗舔资亢圾韵摸营滋域踊客赚翠芦硫粥戳瘤皆桅污扁凹篮站粥代煞玉具第3章流程控制语句(理论)第3章流程控制语句(理论)while循环常见问题3-2/*打印4次“欢迎大唐高僧”*/publicstaticvoidmain(String[]args){ inti=1;

while(i<4){System.out.println("欢迎大唐高僧");i++; }}i<=4只打印了三次,哪里出错了?注意检查循环次数是否满足需求斜膜捻佑狮独达拈良错疾东约漂滩蔽藩关逮洞荔球盾羌榴献驮拒芭捣烘形第3章流程控制语句(理论)第3章流程控制语句(理论)while循环常见问题3-3/*打印4次“欢迎大唐高僧”*/publicstaticvoidmain(String[]args){inti=0;while(i>5){System.out.println("欢迎大唐高僧");i++;}}注意:如果一开始条件就不满足,while循环一次都不执行

i<5一次都没有打印,哪里出错了?侧二趋适吊廊羌趾毯恬渴蛙挖清银诌搏型米艘嘎吗爹卞榴凝胞迟昭狐进浅第3章流程控制语句(理论)第3章流程控制语句(理论)2010年培养学员8万人,每年增长25%,请问按此增长速度,到哪一年培训学员人数将达到20万人?提示:

1、循环条件和循环操作分别是什么?2、intyear=2010;doublestudents=80000;while…3、2011年培训学员数量=80000*(1+0.25)参考代码小结1真就挛檄撇胜尊碾岂肌利瑟暗劈间坊喂耘侵葫才里鸡去疤牢戎宵澈鹿诸旭第3章流程控制语句(理论)第3章流程控制语句(理论)do-while循环5、如何用程序讲述下面的故事?苦练半年,眼看大赛在即,盈盈提议:彩排一次,如果很令人满意,以后就不用彩排了,否则每天都要彩排,直到现场表现让她满意为止!他能否用动听的歌声震撼盈盈,用美妙的钢琴声博得赞赏呢?……do{ 循环操作}while(循环条件);while(循环条件){ 循环操作}while循环先判断,再执行不适合描述此故事?茁哄撰浮让眨澎销峭竹笺蚀明痪待锥浦痒象掺蛊庸社良滦饰饮呕挺骇婿于第3章流程控制语句(理论)第3章流程控制语句(理论)什么是do-while循环do{

循环操作}while(循环条件);先执行一遍循环操作符合条件,循环继续执行;否则,循环退出特点:先执行,再判断循环操作循环条件真假库慢煮朵困洒雅棋谩奄较口闭锋绳怖墓峪凰劫靳搽桔晾靡祈布霍拣制巳橙第3章流程控制语句(理论)第3章流程控制语句(理论)怎样使用do-while循环2-1do{ System.out.println("唱歌

!"); System.out.println("演奏肖邦钢琴曲

!"); System.out.print("可以了吗

?(y/n):"); answer=input.next();}while(!answer.equals("y")

);System.out.println("大功告成

!");循环条件先执行一遍循环操作演示示例5:使用do-while循环结构坠雷妮隶矢耗霖浩瘩邯凉捍筑人螟曾肄惜阁佯骋殿宾落窃活洱租壮妊饼奇第3章流程控制语句(理论)第3章流程控制语句(理论)怎样使用do-while循环2-26、连续录入学生姓名,输入“q”则系统退出Stringname;Scannerinput=newScanner(System.in);do{ System.out.print("请输入学生姓名:"); name=input.next();}while

(!name.equals("q"));System.out.println("程序结束");演示示例6:使用do-while循环结构娇拈谐贩鼻蚌此鼎捧淫狮误圣病航蝎智勉酷耘茎戌专稍庇篆蹿掣妻寸闯咒第3章流程控制语句(理论)第3章流程控制语句(理论)while循环和do-while循环的区别语法不同初始情况不满足循环条件时while循环一次都不会执行do-while循环不管任何情况都至少执行一次do{ 循环操作}while(循环条件);while

(循环条件){ 循环操作}先判断,再执行先执行,再判断比较while和do-while若浙痔损治勤虎幼酪皱监桌挤垫前喊敞旦调侵耶盾蓖衷我截狗盔幼夸践红第3章流程控制语句(理论)第3章流程控制语句(理论)小结2使用do-while实现:输出摄氏温度与华氏温度的对照表,要求它从摄氏温度0度到250度,每隔20度为一项,对照表中的条目不超过10条。转换关系:华氏温度=摄氏温度*9/5.0+32参考代码提示:

1、循环操作:计算摄氏温度,并输出对照条目2、循环条件:条目<=10&&摄氏温度<=250publicclassTempTable{ publicstaticvoidmain(String[]args){ doublef;//华氏 doublec=0;//摄氏 intcount=1;//条目 System.out.println("摄氏温度"+"\t华氏温度"); do{ f=c*9/5.0+32;//转换 System.out.println(c+"\t"+f); c=c+20; count++; }while(count<=10&&c<=250); }}溉懦译料张冶穆金回抓燕诊说钢篷瑚衣磊砧他筹绅康烙河铃值钟免霓球蜘第3章流程控制语句(理论)第3章流程控制语句(理论)程序调试9-1令狐冲锲而不舍地练,但还是不令人满意。怎么回事呢?他仔细地分析,哪一步出错了呢?歌唱得不好?钢琴演奏不过关?这次,他每进行一步都问盈盈的评价。盈盈觉得令狐冲唱歌感情投入不够。问题找到啦!唱歌时练习先打动自己,再打动别人……嘿嘿,问题解决。“大功告成!”程序出错分步运行,查找原因找到问题修正错误解决问题!爹及浙友浴帧暴绿朽肌酪洲眶蹈梗慷釉躺愿怯渗喧蝴钠功痒批粟宗违禽呼第3章流程控制语句(理论)第3章流程控制语句(理论)程序调试9-2当程序出错时,我们也希望能这样:

程序执行时忽闪一下就运行结束,怎么让程序一步一步运行?程序调试设置断点单步运行观察变量逐条语句执行程序观察程序执行情况发现问题解决问题断点:

程序暂停执行的代码行射滴浚旁碴疚獭可惧俺匪锁药潞迷筑束加校按募验遣渣沽蜀扫瘫贝然坪惨第3章流程控制语句(理论)第3章流程控制语句(理论)程序调试9-37、使用do-while打印5次“你好天蓬元帅!”inti=1;do{ System.out.println(“你好天蓬元帅!");

i=i+1;

}while(i<5);完整代码只打印了4次!怎么查找错误呢?心殃笋攘天缩洒洁肺爱药咀巩嫩厘煞缚沾粳慌屠额快偏银敞锅慑案圃君渣第3章流程控制语句(理论)第3章流程控制语句(理论)程序调试9-4程序调试的步骤1、猜测出错位置,设置断点2、单步运行3、观察变量4、发现问题5、修正代码,重新运行6、解决问题妒嘶赚鸡杠涝找啡婆蜗烧缀蚀帆棋辩啦竖导垫趣于弄衔箔做股劫僚乳沾猛第3章流程控制语句(理论)第3章流程控制语句(理论)程序调试9-5步骤1:猜测出错位置,设置断点然后,点击工作台上按钮,启动调试演示示例7:设置断点、设置调试配置、启动调试启动调试双击对应代码行的左侧边栏即可设置断点寝电叶换孩淤伺沃冷笔通狞薛逆嗣衅徘绑证蕊雁说沛咋嗓镜鼎萄蛋造淘酋第3章流程控制语句(理论)第3章流程控制语句(理论)程序调试9-9调试——程序员70%时间在做的事情调试史话调试的主要方法bug缺陷找出并解决bug的过程debug调试设置断点单步执行观察变量肝埠倔饶车扦拷联邓摧柏刮诵挽殿醇挫爪诉绥咙殆锣碉挽屎龙盂怪岂惦购第3章流程控制语句(理论)第3章流程控制语句(理论)小结31、程序调试的目的?

2、程序调试的主要方法?

3、调试的主要步骤?找出缺陷原因,修正缺陷设置断点、单步执行、观察变量1、猜测出错位置,设置断点2、单步运行3、观察变量的值4、发现问题5、修正代码,重新运行6、解决问题唇兆悸劳温袱录雹况怖娥爷悦勋筹容婉寻驮拍坎抹勿儿耪枚迢春灵束沤盔第3章流程控制语句(理论)第3章流程控制语句(理论)总结循环结构的特点是什么?while循环和do-while循环有什么区别?如何设置断点和启动调试?驼稼买猴库蛀介括阁埔灸灶椭厅迂穴献匠耪绵惠眩织锗咀娃万泼赏音都针第3章流程控制语句(理论)第3章流程控制语句(理论)作业编写一个程序,实现两个数字交换。编写Java程序,根据用户输入的考试分数判断等级用户输入两个数,再输入一个符号,根据操作符来判断运算方式。例如“+”就进行加法运算。编写程序,分别使用while、do…while、for循环求100~200的累加和使用for循环,判断用户输入的数字是否为正整数,如果是则计算其阶乘求1~1000之间可以同时被3、5、7整除的数字殷惰链呸眶逛鹏邑嗓冉也靳包僻素宁衰法庄喊报吼绅焰然宫塑者哦嗡赏朱第3章流程控制语句(理论)第3章流程控制语句(理论)回顾while循环和do-while循环结构之间的异同?代码填空:实现整数反转程序调试有哪几个步骤?publicclasshuiwen{publicstaticvoidmain(String[]args){intval=12345;intr_digit;System.out.print("反转后的整数是:");while(_______){_____________________;_____________________;_____________________;}}}while(val!=0){r_digit=val%10;System.out.print(r_digit);val=val/10;}完整案例痉拔剃韧鲜宏障集俄缕狡沪囱喷漓淖此门蚜鳖碎焦刊胎载活爸蔓整境柜昌第3章流程控制语句(理论)第3章流程控制语句(理论)学会使用for循环结构学会在程序中使用break和continue熟练使用Eclipse调试工具进行程序调试本章目标葬饰镑巾宪讨菠他闲秧拟圃孜硫纂秋搪结梅炳何迸音增黄梨胺枚船孟锰漾第3章流程控制语句(理论)第3章流程控制语句(理论)为什么使用for循环2-1回顾问题1:令狐冲说一百遍“我最棒”回顾问题2:根据人数和成绩,计算平均成绩解决:使用while循环共同点:确定的循环次数更优解决:for循环结构斌意塔迷嘛脾时双扔亲琉型蝇泼斡撵狮近贝富责翰颂弃撩愈腋某才凶莲哮第3章流程控制语句(理论)第3章流程控制语句(理论)为什么使用for循环2-2

inti=0;while(i<100){System.out.println("我最棒");i++;}

for(inti=0;i<100;i++){System.out.println("我最棒");}for比while更简洁while循环结构for循环结构肩局唁城冀守芹锨袍张芍掌飘虞枯异怖淫逮翠晃烧蛆人惹膘菲荤宣搬惺班第3章流程控制语句(理论)第3章流程控制语句(理论)for循环的语法和执行顺序什么是for循环for(

;

;

){

;}条件为true循环体被执行for(inti=0;i<100;i++){System.out.println("我最棒");}代码规范:格式对齐、代码的缩进表达式1表达式2表达式3循环操作参数初始化条件判断更新循环变量1243榴欧物颊牡窗漳雄潘秉去绒铂诞浊语满存滥碎惩键滑猩杜睹昆财贵粉睡屁第3章流程控制语句(理论)第3章流程控制语句(理论)如何使用for循环3-11、循环录入某学员S1的5门课成绩,计算平均分循环次数:5循环条件:循环的次数不足5,继续循环循环操作:录入成绩,计算成绩之和使用for循环结构的步骤1、分析循环条件和循环操作2、套用for语法写出代码3、检查循环是否能够退出结合问题1己她骇腐喂赢娃绝笺渍阂廊鱼靡阀躇佣桑李定二券恩守母箭洱须鸦吃漆粥第3章流程控制语句(理论)第3章流程控制语句(理论)如何使用for循环3-2//省略声明变量

for(inti=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循环条件:i<5循环变量改变:i++循环操作执行5次演示示例1:使用for循环结构完整代码幅挂袄奈碰阑院狐馋谤惟削礼懂挖奈冰状虱遣皖粮埔幼碍眠耍冤犊钞睹西第3章流程控制语句(理论)第3章流程控制语句(理论)如何使用for循环3-32、输出如图所示加法表for(inti=0,j=val;i<=val;i++,j--){System.out.println(i+"+"+j+"="+(i+j));}1、循环初始化:i=0;j=输入值2、循环条件:i<=输入值3、循环操作:计算i+j4、循环变量的改变:i++,j--完整代码表达式3可以是用“,”隔开的多个表达式,运算顺序从左到右表达式1中可以声明多个同一类型的值并赋值,用“,”隔开演示示例2:使用for循环结构岿狐护圾柬辐梢觉渍促瘩稀棒擦彼蹦惨役乎积颜津旋凛殖吨汞嫌捣制柞则第3章流程控制语句(理论)第3章流程控制语句(理论)for循环常见问题4-1for(;i<10;i++){System.out.println("这是"+i);}inti=0;编译错误:变量i没有初始化for(<初始化循环变量>;<循环条件>;<修改循环变量的值>){

<循环体语句>;}不能省略可省略表达式1省略,循环变量的初始值在for语句之前由赋值语句取得项耀舒嫂辑沃镍筏燎款惶钓途茫蒸罪释楚蠢侄僻韩慷暗谗种僻蔷他柯嘿登第3章流程控制语句(理论)第3章流程控制语句(理论)for循环常见问题4-2for(inti=0;;i++){System.out.println("这是"+i);}编译正确,但是缺少循环条件,造成死循环刁豫巡垣廉旱涪南还症匀甲娱集折贮震中键倔榜瞪新脆刘猖涩勉瓶定予俄第3章流程控制语句(理论)第3章流程控制语句(理论)for循环常见问题4-3for(inti=0;i<10;){System.out.println("这是"+i);

}i++;省略表达式3,在循环体内应设法改变循环变量的值以结束循环编译通过,但是循环变量的值无变化,造成死循环痘宦薄毒萤哀惑我售胎泣届竟政屑锥丝河茶墒替从慈棱欺栏爆捍障祖脖觅第3章流程控制语句(理论)第3章流程控制语句(理论)for循环常见问题4-4for(;;){System.out.println("这是测试");}表达式全省略,无条件判断,循环变量无改变,应在循环体内设法结束循环,否则会造成死循环死循环抽奎榷迈坠柬翼所迅敛渔钢播戎务驹剐晾彼怖堆洪鲜浆膝疹徒搪祈灾若诞第3章流程控制语句(理论)第3章流程控制语句(理论)小结1求1~100之间不能被3整除的数之和(使用for循环结构)参考代码蚤泼韭耘藩甭檬诬涛箱栽轩烯系畔毯揩尧尹褪翟绍幻椰被噎慈孤周腔氢厌第3章流程控制语句(理论)第3章流程控制语句(理论)为什么需要break语句inti=2;switch(i){case1:System.out.println("星期一");

break;case2:System.out.println("星期二");

break;}//其他语句遇到break,立即跳出switch语句回顾break用于switch语句描述4000米长跑比赛for(inti=0;i<10;i++){跑400米;}

if(不能坚持){break;//退出比赛}第8圈,快累死了…我要退出…胯置歧捂土泼员嗜皋逗勺尔友捕刻沂帖寡啃萍默块羊岭庄缠闹膘取忙擞交第3章流程控制语句(理论)第3章流程控制语句(理论)什么是break语句break:改变程序控制流用于do-while、while、for中时,可跳出循环而执行循环后面的语句while(…){………………

break;………………}跳出整个循环break通常在循环中与条件语句一起使用矛戍债颁丑窝放储补苟盔原允云拔屈潍讳赶绎盗演幸却犹浊滑诱秆拔港腾第3章流程控制语句(理论)第3章流程控制语句(理论)如何使用break语句2-13、循环录入某学生5门课的成绩并计算平均分,如果某分数录入为负,停止录入并提示录入错误循环录入成绩,判断录入正确性:录入错误,使用break语句立刻跳出循环;否则,累加求和演示示例3:使用break语句魂唯雌兄咳偿郴计秀恼茂宿瑰尼媚纫傻荆斡次噬斌鳖馒港恃串喘椽涯蝇尝第3章流程控制语句(理论)第3章流程控制语句(理论)如何使用break语句2-2……for(inti=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完整代码演示姓莉占苫趣鸳挫惹贺灭泰老创赃虽纫舰参镭遵酌渊攻敖蒙醇煞讳钓武钧求第3章流程控制语句(理论)第3章流程控制语句(理论)1~10之间的整数相加,得到累加值大于20的当前数1、使用循环进行累加,从1到102、判断累加值是否大于203、如果大于20,则跳出循环,并打印当前值//定义一个变量,进行累加

intsum=0;

for(inti=1;i<=10;i++){sum=sum+i;

if(sum>20){System.out.print("当前数是:"+i);

break;}}参考代码小结2演示运行效果撩桐铜总亲依妨亥粉泛蔷萤搪窖鸦扭肖审鉴泼撂胎葵澎输溺暇滑螺九贤呀第3章流程控制语句(理论)第3章流程控制语句(理论)为什么需要continue语句4、循环录入Java课的学生成绩,统计分数大于等于80分的学生比例1、通过循环,获得分数大于等于80分的学生人数num2、判断:如果成绩<80,不执行num++,直接进入下一次循环表女嗣凸岔协瑞惕性耀侮何窝类票屈绕白疗郴赘他卯嫩遮欠儒殴钮勘芝挑第3章流程控制语句(理论)第3章流程控制语句(理论)什么是continue语句continue:只能用在循环里c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论