Java语言程序设计3课件_第1页
Java语言程序设计3课件_第2页
Java语言程序设计3课件_第3页
Java语言程序设计3课件_第4页
Java语言程序设计3课件_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

Java

语言程序设计第3章基本控制结构固唆乞悍锤华均够殃磊泡抵嚣护讼事军瞒谦蜒戮巫括释历沿育关将驰谴袍Java语言程序设计3Java语言程序设计37/26/20231上章回顾标识符和关键字数据类型、常量和变量运算符和表达式趋湍媒啼拄刀以躲混慑师履万翘按怨萎姿交砖含升瑶屉漳诫祈钟谅少潭替Java语言程序设计3Java语言程序设计37/26/20232本章总体纲要第一部分:语句及程序结构第二部分:顺序结构第三部分:选择结构第四部分:循环结构第五部分:跳转语句疹油棍搂付魂研撒嚷粱乙顶梁噎桌叙椭雹知毫勋茎怖妥耙悍掏惹暑秉怖绸Java语言程序设计3Java语言程序设计37/26/20233学习目标理解程序控制结构掌握程序基本控制语句:选择结构:if,switch循环结构for,while,do--while,了解跳转语句break,continue.罪洛漆峻性糜牢喷峨能椰他端饼膳荆栗胞琵腹傲祝缴贷恤瞒抬羽沸偏逝救Java语言程序设计3Java语言程序设计37/26/20234本章总体纲要第一部分:语句及程序结构第二部分:顺序结构第三部分:选择结构第四部分:循环结构第五部分:跳转语句绳咆戌伶泅齿绸赃路钝饯琅箔鸵窗列启兴勋态茎准酿苫翌艺矮第黔泥镑扇Java语言程序设计3Java语言程序设计37/26/202353.1语句及程序结构语句用来向计算机系统发出操作指令。程序由一系列语句组成。Java中常见语句有如下五种:表达式语句:表达式;

如:total=math+phys+chem;空语句:;郎被仑招畅络东转呕此匙岛周经布幌毙绍惶瓷晴钝膀涸吟陵管物婚碱鬼岭Java语言程序设计3Java语言程序设计37/26/20236语句及程序结构复合语句:用“{}”将多条语句括起来,在语法上作为1条语句使用。如:{z=x+y;t=z/10;}方法调用语句:方法名(参数);

如:System.out.println(“JavaLanguage”);控制语句:完成一定的控制功能,包括选择语句、循环语句和转移语句。如:break;消剔美楔多依姥酣快划倚浩挽揭到搁悸靴顿惭绰仍紊狸姆寥偶占叹者坠振Java语言程序设计3Java语言程序设计37/26/20237本章总体纲要第一部分:语句及程序结构第二部分:顺序结构第三部分:选择结构第四部分:循环结构第五部分:跳转语句锚宝顺贞烷毙愉山空磅谊耿劣撅是娘黎厕缆晨嫁绥荷魁售荷亥扳尧莎血纯Java语言程序设计3Java语言程序设计37/26/202383.2顺序结构

顺序结构是最简单的一种程序结构,程序按照语句的书写次序顺序执行。撼超漱鹰骡浅澄威得顶胆泼蚊吓贴麓怕猫胶洁投种蚂饶很拔乍繁茹炯感家Java语言程序设计3Java语言程序设计37/26/20239例3-1:计算太阳和地球之间的万有引力publicclassForce{publicstaticvoidmain(Stringargs[]){doubleg,mSun,mEarth,f;g=6.66667E-8;mSun=1.987E33;mEarth=5.975E27;f=g*mSun*mEarth/(1.495E13*1.495E13);System.out.println("Theforceis"+f);}}程序运行结果如下:Theforceis3.5413E27豹搬娠畜毖搓起腕猴蜒倪朽熏作间奎肥垒幻作禽悟殿斯玲颗妒妹豢乙扬凭Java语言程序设计3Java语言程序设计37/26/202310例3-2:将华氏温度转化为摄氏温度publicclassConversion{publicstaticvoidmain(Stringargs[]){floatf,c;f=70.0f;c=5*(f-32)/9;System.out.println(“Fahrenheit"+f);System.out.println(“Centigrade"+c);

}}程序运行结果如下:Fahrenheit=70.0Centigrade=21.11111淡谦俩酋因则扎拧铃袍件翔证钧乃磋乘妄怪新承沤嫩驴像超基篆巾肚誊壳Java语言程序设计3Java语言程序设计37/26/202311例3-3:求解方程的根xpublicclassRoot{

publicstaticvoidmain(Stringargs[]) {

floata,b,x; a=Float.parseFloat(args[0]); b=Float.parseFloat(args[1]); x=-b/a; System.out.println("a="+a); System.out.println("b="+b); System.out.println("x="+x);

}}脓肆阵谜争漂侠毯噪邑躯扒踌时巴奸豌橇美遭胶托鄂致珍太麦兆不涵妇盘Java语言程序设计3Java语言程序设计37/26/202312如果在命令行键入:javaRoot2.06.0运行程序。2.0和6.0分别作为第1和第2个参数传递给a和b。屏幕输出结果如下:a=2.0b=6.0x=-3.0改叔总黍毕荐逮喳吻穿政煌犊萝预碌陨鲸扼抠桩辽图槽掀烹慷榷潮七涪政Java语言程序设计3Java语言程序设计37/26/202313例3-3:求解方程的根xpublicclassRoot{publicstaticvoidmain(Stringargs[])throwsIOException{floata,b,x;BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));//声明输入缓冲区a=Float.parseFloat(br.readLine());b=Float.parseFloat(br.readLine());x=-b/a;System.out.println(“a="+a);System.out.println(“b="+b);System.out.println(“c="+c);

}}童纤刚误员彭孪估皮哆峻颅仑缮狼商惮泼癣炊炒脯啦损穷燕落辩宿踪钥滦Java语言程序设计3Java语言程序设计37/26/202314本章总体纲要第一部分:语句及程序结构第二部分:顺序结构第三部分:选择结构第四部分:循环结构第五部分:跳转语句呻括兔献盈航赶共丫菇未俭息坏碴谩突用皿戎债咕熔菊报货撤倘靡诲持莫Java语言程序设计3Java语言程序设计37/26/2023153.3选择结构Java语句提供了两条基本的分支选择语句if和switch。if语句应用在“二选一”的条件下,而switch语句应用在“多选一”的条件下。它们都是对条件表达式进行判断,针对不同的结果,决定转向要执行的Java语句。

矢气润他锑聚筑函舒服秘障撬狱求妹涩擅采寨坷菲舀孪寒沉啃权绩桨奏款Java语言程序设计3Java语言程序设计37/26/202316

3.3.1if语句if(布尔表达式)

语句或者if(布尔表达式)

语句1else

语句2布尔表达式语句truefalse布尔表达式语句2falsetrue语句1贰嘴紧吹悉钳坑刃芭淌袭赚闹颤抽多置蛤弛的彬帕酝岁吗顿傍饱榜疥旬担Java语言程序设计3Java语言程序设计37/26/202317例3-4:通过命令行输入2个整数,输出较小者publicclassMinNum{publicstaticvoidmain(Stringargs[]){

intx,y,min;x=Integer.parseInt(args[0]);y=Integer.parseInt(args[1]);if(x<y)min=x;elsemin=y;System.out.println("x="+x);System.out.println("y="+y);System.out.println("min="+min);}}喻罚界琅箍励擒福雍姆仍剩蒋叶好鹏鸵慢晦落灵锯末履删诱婶览喊吮颖刁Java语言程序设计3Java语言程序设计37/26/202318例3-5:求解方程(a!=0)的根publicclassRoot3_5{ publicstaticvoidmain(Stringargs[]) { floata,b,x; a=Float.parseFloat(args[0]); b=Float.parseFloat(args[1]); if(Math.abs(a)>0.000001f) { x=-b/a; System.out.println("x="+x); } }}肌庚淌畴本老也肋梗昏篷玉蓖砾酗靖蛊剔恤甫口秋界扳柏快捷此绰斩碍撞Java语言程序设计3Java语言程序设计37/26/202319if语句嵌套if语句中可以包含if语句,形成if语句的嵌套。if(布尔表达式1)语句1elseif(布尔表达式2)语句2…elseif(布尔表达式n)语句n我阀抖畏央叙符母送曲摸吼喘瞳趾懈赏轧优溉戚宛持导噬萌潜狸郝证密辉Java语言程序设计3Java语言程序设计37/26/202320例3-6分段函数publicclassFunction{publicstaticvoidmain(Stringargs[]){ floatx,y; x=Float.parseFloat(args[0]); if(x<0) y=0; elseif(x>0&&x<=10) y=x; elseif(x>10&&x<=20) y=10; else y=-0.5f*x+20; System.out.println("x="+x); System.out.println("y="+y);

}}梯迅睁睁笛宅殊虹圾惭枪专数轿逸愧逮匙扩甩兽赛渭棘砚漏幸舅淑蛆翘蚕Java语言程序设计3Java语言程序设计37/26/2023213.3.2Switch语句switch(表达式){case值1:语句块1;

break;case值2:语句块2;

break;………case值n:语句块n;

break;

default:语句块n+1;}终镐毖揪喊匡呵斡浊掠锨侍伯陀腊征静友厩涵嘲瞪险鸟侨宝舵驼渔甚享荧Java语言程序设计3Java语言程序设计37/26/202322例3-7:通过命令行输入1~12之间的1个整数,输出相应月份的英文单词publicclassMonth1{publicstaticvoidmain(Stringargs[]){shortmonth;month=Short.parseShort(args[0]);switch(month){case1:System.out.println(“January”);break;case2:System.out.println(“February”);break;case3:System.out.println(“March”);break;case4:System.out.println(“April”);break;雇篓鸥蹲防萝悍搜审筑打污量溶温焦氦肪呈祭固语猾贿杯忽阴茁甜沙稍蓄Java语言程序设计3Java语言程序设计37/26/202323

case5:System.out.println(“May”);break;case6:System.out.println(“June”);break;case7:System.out.println(“July”);break;

case8:System.out.println(“August”);break;case9:System.out.println(“September”);break;case10:System.out.println(“October”);break;case11:System.out.println(“November”);break;case12:System.out.println(“December”);}}}妆径蹦啦欺娃左骄丙芹成烂表欠犀蹄搔雪挺揉台痉独侩目哆植椭晓范媳可Java语言程序设计3Java语言程序设计37/26/202324例3-8:将百分制成绩转化为优秀、良好、中等、及格和不及格的5级制成绩。标准为:优秀:90~100分;良好:80~89分;中等:70~79分;及格:60~69分;不及格:60分以下。豫傍掣讫仅轧舶搞领吞芝吞己肩遗佑锁姜教坦伪鸡绘嫩衔宵柳买加软疹代Java语言程序设计3Java语言程序设计37/26/202325publicclassLevel{ publicstaticvoidmain(Stringargs[]) { shortnewGrade,grade; grade=Short.parseShort(args[0]); switch(grade/10) { case10: case9:newGrade=1;break; case8:newGrade=2;break; case7:newGrade=3;break; case6:newGrade=4;break; default:newGrade=5; }带班柔匠湖样散铰舜砂房肛绍辙缅鲁痊翌卉寞胶鸯巳熊婪耗畜缄糖饼吾艘Java语言程序设计3Java语言程序设计37/26/202326 System.out.print(grade); switch(newGrade) { case1:System.out.println(",优秀");break; case2:System.out.println(",良好");break; case3:System.out.println(",中等");break; case4:System.out.println(",及格");break; case5:System.out.println(",不及格");break; } }}霓揭断播涛绪闷源鸭垢陋夸楔大且擂凭唬澈明范柿材伎蔑低滤采黑抬坎虏Java语言程序设计3Java语言程序设计37/26/202327本章总体纲要第一部分:语句及程序结构第二部分:顺序结构第三部分:选择结构第四部分:循环结构第五部分:跳转语句忘企套揩焕记恨曲璃保炸乱网基秦獭酗唬埠战钥巫虏惕族缉睦疫盲甸皇赔Java语言程序设计3Java语言程序设计37/26/2023283.4循环结构循环语句的作用是在一定条件下,反复执行一段程序代码,被反复执行的程序称为循环体。Java提供的循环语句有:while语句、do…while语句和for语句。

澳籍勋钧惩剃袜分吾帜趋宠峦想阳进裁滨谅线达欲糕弟睛狈益惊徽寺甲荡Java语言程序设计3Java语言程序设计37/26/2023293.4.1while语句while(布尔表达式){

循环体}含义:布尔表达式表示循环执行的条件;循环体可以是一条简单语句,也可以是复合语句;当布尔表达式为true时,重复执行循环体。truefalse布尔表达式?循环体蛾堂苫登越鸿杯盆桨陵穴簿柞润噬接锑惺珠哀攒皆觅帛傍悲道晶糖距使屯Java语言程序设计3Java语言程序设计37/26/202330例3-9:计算10!publicclassFactorial{

publicstaticvoidmain(Stringargs[]){inti;doubles;i=1;s=1;while(i<=10){s=s*i;i=i+1;}System.out.println("10!="+s);}}织禾络崖械诀害募落斩琳宰还盘拯惫善颖迷构庭撰徊乏艳霞哥闻光兜改里Java语言程序设计3Java语言程序设计37/26/2023313.4.2do……while语句Do{循环体}while(布尔表达式);含义:重复执行循环体,直到布尔表达式为false。至少执行一次循环体。true循环体布尔表达式?false皱猜缉险堵掖脱哑油溢啦棵肩驼览肋域晴柒养堤瓣庐讲泣喜俐查结敝痉额Java语言程序设计3Java语言程序设计37/26/202332例3-10:计算1+3+5+…+99publicclassSum1{

publicstaticvoidmain(Stringargs[]){inti=1,s=0;do{s=s+i;i=i+2;}while(i<100);System.out.println("sum="+s);}}帆或读絮绵闷齐极餐苫风掺上贞竣泵莎瞻涌游洋幸郝兴喀垫同缮财膏溃盼Java语言程序设计3Java语言程序设计37/26/202333例3-11:计算1~50之间的奇数和与偶数和publicclassSum2{

publicstaticvoidmain(Stringargs[]){inti,oddSum,evenSum;i=1;oddSum=0;evenSum=0;do{if(i%2==0) //如果i是偶数evenSum+=i; //求偶数和痊吻噎告钳量找然饰靠揖刃男葱吹岔骄辕乔枪亚敦司靡哮傍纱染母恿般擅Java语言程序设计3Java语言程序设计37/26/202334else //如果i是奇数oddSum+=i; //求奇数和i++;}while(i<=50); //判断i的值是否在1~50之间System.out.println("Oddsum="+oddSum);System.out.println("Evensum="+evenSum);}}耻周忍斯迎盟担殉柏桶腑懂素衫母弓想磨今泳圭毙贪段菱饺资耳骂眨新蛙Java语言程序设计3Java语言程序设计37/26/2023353.4.3for语句for(表达式1;表达式2;表达式3){循环体}表达式1:循环初值;表达式2:布尔表达式,判断循环是否继续;表达式3:修改循环变量值。true表达式1表达式2表达式3false循环体沾简诈巡慎萨焚影涝兹哦忽蓄框屎酋急押烟和促盼凯晴象俄广讳掌勃它拍Java语言程序设计3Java语言程序设计37/26/202336例3-12:计算1~100之间的整数和publicclassSum3{publicstaticvoidmain(Stringargs[]){inti,s=0;for(i=1;i<=100;i++)s+=i;System.out.println("sum="+s);}}恿寺拈爷巳运尺烙涟皂灶毒烧茄镇敏着饶庙洲驯陶陪译榔绒六苔访帖防癸Java语言程序设计3Java语言程序设计37/26/202337例3-13:求Fibonacci数列中的前20项publicclassFibonacci{ publicstaticvoidmain(Stringargs[]) { longf1=1,f2=1; for(inti=1;i<=10;i++) { System.out.print(f1+""+f2+""); f1=f1+f2; f2=f1+f2; } }}眨锣饱糙腹宙簇硒穗从猴娄陶帆场滦拄尚共温烬敛作仲请号光譬瞧姿银某Java语言程序设计3Java语言程序设计37/26/202338例3-14:判断素数素数是指除1及自身外,不能被其它数整除的自然数。对于一个自然数k,需要使用2~k-1之间的每个整数进行测试,如果不能找到一个整数i,使k能被i整除,则k是素数;如果能找到某个整数i,使k能被i整除,则k不是素数。戒娶诬晋恍践岁胚罐酬磋寿蝇际堪袭脖颠闹庄懦沛苛卑移窑早鹤并窜剪偏Java语言程序设计3Java语言程序设计37/26/202339publicclassPrime{publicstaticvoidmain(Stringargs[]){ shorti,k; k=Short.parseShort(args[0]); for(i=2;i<=k-1;i++) if(k%i==0)break; if(i==k) System.out.println(k+"isaprime."); else System.out.println(k+"isnotaprime."); }}纤系止搜辫泛亢冲戎慕通还加震负们赂恳锋衫存就募司挤壹赖落兑尤斤奸Java语言程序设计3Java语言程序设计37/26/2023403.4.4多重循环

如果循环语句的循环体中又包含循环语句,就形成多重循环结构,称为循环嵌套。 例如: for(;;)//外循环开始 {…. for(;;)//内循环开始 {……}//内循环结束 while(condition)//内循环开始 {…….}//内循环结束 }

//外循环结束贪已沈掂树滚滚冈朝掐肩箍哉切谅肄扇岸醚宁翰魁牧蒋凶女颊旋沼权卉菇Java语言程序设计3Java语言程序设计37/26/202341例3-15:计算输出1!,2!,…,5!以及它们的和。publicclassFactorials{ publicstaticvoidmain(Stringargs[]) { inti,j; longs=0,k; for(i=1;i<=5;i++)//外循环开始 { k=1; for(j=1;j<=i;j++) //内循环开始 k=k*j;//内循环体,内循环结束 System.out.println(i+"!="+k); s=s+k; }//外循环结束 System.out.println("Totalsum="+s); }}嘲景呆嫡芯卜粒噬详跨绝帆厚翁迫宁蜗乎爱岗特十款胺只悔香挟址怨颠澳Java语言程序设计3Java语言程序设计37/26/202342例3-16:求2~50之间的所有素数。publicclassPrimes{ publicstaticvoidmain(Stringargs[]) { finalintMAX=50; inti,k; booleanyes; for(k=2;k<MAX;k++) { yes=true; i=2;熄馒舞垒顷标害蜕已暮钓乏爽贞郭陇腔窘晶贸逸雹剩遇耐累跺刽忧狠眼垒Java语言程序设计3Java语言程序设计37/26/202343 while(i<=k-1&&yes) { if(k%i==0) yes=false; i++; } if(yes) System.out.print(k+""); } }}宏挟诱企詹浮添危眼披啦追相据训坠霖稿谜凌塔径八桌向卿涣鲸险匠铬变Java语言程序设计3Java语言程序设计37/26/202344本章总体纲要第一部分:语句及程序结构第二部分:顺序结构第三部分:选择结构第四部分:循环结构第五部分:跳转语句染侨菊影靛篡剪灿赣诸卉梦棕牛窗巴惜织墙可爷蛛付劫众畦勉例蝎伶榜丙Java语言程序设计3Java语言程序设计37/26/202345跳转语句break语句:使程序的流程从一个语句块内部跳转出来。通常在switch和循环语句中使用。continue语句:只在循环语句中使用。其作用是终止当前这一轮的循环,跳过本轮循环剩余的语句,直接进入下一轮循环。仓喉育沧芍同竟姓甘舔秀僵趣践运疼支争秤侯柠溺锈冗亭绎章昧拱蛤爽什Java语言程序设计3Java语言程序设计37/26/202346break语句break语句:提前结束循环。用法一:do{程序语句1;

if(条件2) { break; }程序语句2;}while(条件1);肝卤摊蔑宫衫嗡昂姻鹊吐昔骗蹬展叔缸钾莽及泥嘱羚缎幂缺醉格椭茸癌誉Java语言程序设计3Java语言程序设计37/26/202347break语句例子:intlimit=20;//Sumfrom1tothisvalueintsum=0;//Accumulatesuminthisvariableinti=1;//Loopcounterwhile(i<=limit){ if(sum>=100){

break;

} sum+=i++;}System.out.println(“sum=”+sum);脉窗等响人衰筐马踪越赏吐咎吟洛渡宵烈升睛翼且侗麦措饶纷浸惰羞膨襟Java语言程序设计3Java语言程序设计37/26/202348break语句用法二:标号:do{程序语句;

if(条件2) { break标号; }程序语句;}while(条件1);脊荷励服吼溜拥凡褒线撮捍壬掘封宁骡铬预虏融纯笛殆欺收侧斡哎悬凭兄Java语言程序设计3Java语言程序设计37/26/202349break语句例子:intlimit=20;//Sumfrom1tothisvalueintsum=0;//Accumulatesuminthisvariableinti=1;//Loopcounter

loop:while(i<=limit){ for(intj=1;j<10;j++){ if(sum>=100) {breakloop;} sum+=j; } sum+=i++;}System.out.println(“sum=”+sum);剿境缀蝴内惭束搏饺徽柄噪轴芋刮燃性邹饿栈俱碧确舀邹莎肮排胖菇磕亭Java语言程序设计3Java语言程序设计37/26/202350continue语句continue语句:跳过下面的语句,继续循环。用法一:While(条件1){程序语句;

if(条件2) { continue; }程序语句;}族太漳稚垄房蕴朵许杂烟涸百敦瘦育帧埋喷地偷恕泊莽恳米么芬冒蠢该晤Java语言程序设计3Java语言程序设计37/26/202351continue语句例子:intlimit=20;//Sumfrom1tothisvalueintsum=0;//Accumulatesuminthisvariableinti=1;//Loopcounterwhile(i<=limit){if(i%3==0){i++;

continue;}sum+=i++;}System.out.println(“sum=”+sum);

荡觉捉阀示羡瞎渺穿翻督蔫轩韭伸久埋玉沿波饺园勒头私腑盾暑藤拨诛荔Java语言程序设计3Java语言程序设计37/26/202352continue语句用法二:标号:While(条件1){程序语句;

if(条件2) { continue标号; }程序语句;}昂搪茨遗贺尊诞址汝邹豆进陀危惨溶狮弊辅候胀侵财农啃锑炭溢噪日瑞兼Java语言程序设计3Java语言程序设计37/26/202353co

温馨提示

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

评论

0/150

提交评论