java语言程序设计基础篇(第八版)课件PPT第三章--机械工业出版报社--李娜译.ppt_第1页
java语言程序设计基础篇(第八版)课件PPT第三章--机械工业出版报社--李娜译.ppt_第2页
java语言程序设计基础篇(第八版)课件PPT第三章--机械工业出版报社--李娜译.ppt_第3页
java语言程序设计基础篇(第八版)课件PPT第三章--机械工业出版报社--李娜译.ppt_第4页
java语言程序设计基础篇(第八版)课件PPT第三章--机械工业出版报社--李娜译.ppt_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807,1,Chapter3Selections,2,Motivations,IfyouassignedanegativevalueforradiusinListing2.1,ComputeArea.java,theprogramwouldprintaninvalidresult.Iftheradiusisnegative,youdontwanttheprogramtocomputethearea.Howcanyoudealwiththissituation?,Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807,3,Objectives,TodeclarebooleantypeandwriteBooleanexpressionsusingcomparisonoperators(3.2).ToprogramAdditionQuizusingBooleanexpressions(3.3).Toimplementselectioncontrolusingone-wayifstatements(3.4)ToprogramtheGuessBirthdaygameusingone-wayifstatements(3.5).Toimplementselectioncontrolusingtwo-wayifstatements(3.6).Toimplementselectioncontrolusingnestedifstatements(3.7).Toavoidcommonerrorsinifstatements(3.8).Toprogramusingselectionstatementsforavarietyofexamples(BMI,ComputeTax,SubtractionQuiz)(3.9-3.11).TogeneraterandomnumbersusingtheMath.random()method(3.9).Tocombineconditionsusinglogicaloperators(,5,ComparisonOperators,OperatorNamegreaterthan=greaterthanorequalto=equalto!=notequalto,6,Problem:ASimpleMathLearningTool,AdditionQuiz,Run,Thisexamplecreatesaprogramtoletafirstgraderpracticeadditions.Theprogramrandomlygeneratestwosingle-digitintegersnumber1andnumber2anddisplaysaquestionsuchas“Whatis7+9?”tothestudent.Afterthestudenttypestheanswer,theprogramdisplaysamessagetoindicatewhethertheansweristrueorfalse.,7,One-wayifStatements,if(boolean-expression)statement(s);,if(radius=0)area=radius*radius*PI;System.out.println(Thearea+forthecircleofradius+radius+is+area);,8,Note,9,SimpleifDemo,SimpleIfDemo,Run,Writeaprogramthatpromptstheusertoenteraninteger.Ifthenumberisamultipleof5,printHiFive.Ifthenumberisdivisibleby2,printHiEven.,10,Problem:GuessingBirthday,GuessBirthday,Theprogramcanguessyourbirthdate.Runtoseehowitworks.,11,MathematicsBasisfortheGame,19is10011inbinary.7is111inbinary.23is11101inbinary,12,TheTwo-wayifStatement,if(boolean-expression)statement(s)-for-the-true-case;elsestatement(s)-for-the-false-case;,13,if.elseExample,if(radius=0)area=radius*radius*3.14159;System.out.println(Theareaforthe“+“circleofradius+radius+is+area);elseSystem.out.println(Negativeinput);,14,MultipleAlternativeifStatements,15,Traceif-elsestatement,if(score=90.0)grade=A;elseif(score=80.0)grade=B;elseif(score=70.0)grade=C;elseif(score=60.0)grade=D;elsegrade=F;,Supposescoreis70.0,Theconditionisfalse,animation,16,Traceif-elsestatement,if(score=90.0)grade=A;elseif(score=80.0)grade=B;elseif(score=70.0)grade=C;elseif(score=60.0)grade=D;elsegrade=F;,Supposescoreis70.0,Theconditionisfalse,animation,17,Traceif-elsestatement,if(score=90.0)grade=A;elseif(score=80.0)grade=B;elseif(score=70.0)grade=C;elseif(score=60.0)grade=D;elsegrade=F;,Supposescoreis70.0,Theconditionistrue,animation,18,Traceif-elsestatement,if(score=90.0)grade=A;elseif(score=80.0)grade=B;elseif(score=70.0)grade=C;elseif(score=60.0)grade=D;elsegrade=F;,Supposescoreis70.0,gradeisC,animation,19,Traceif-elsestatement,if(score=90.0)grade=A;elseif(score=80.0)grade=B;elseif(score=70.0)grade=C;elseif(score=60.0)grade=D;elsegrade=F;,Supposescoreis70.0,Exittheifstatement,animation,20,Note,Theelseclausematchesthemostrecentifclauseinthesameblock.,21,Note,cont.,Nothingisprintedfromtheprecedingstatement.Toforcetheelseclausetomatchthefirstifclause,youmustaddapairofbraces:inti=1;intj=2;intk=3;if(ij)if(ik)System.out.println(A);elseSystem.out.println(B);ThisstatementprintsB.,22,CommonErrors,Addingasemicolonattheendofanifclauseisacommonmistake.if(radius=0);area=radius*radius*PI;System.out.println(Theareaforthecircleofradius+radius+is+area);Thismistakeishardtofind,becauseitisnotacompilationerrororaruntimeerror,itisalogicerror.Thiserroroftenoccurswhenyouusethenext-lineblockstyle.,Wrong,23,TIP,24,CAUTION,25,Problem:AnImprovedMathLearningTool,Thisexamplecreatesaprogramtoteachafirstgradechildhowtolearnsubtractions.Theprogramrandomlygeneratestwosingle-digitintegersnumber1andnumber2withnumber1number2anddisplaysaquestionsuchas“Whatis92?”tothestudent.Afterthestudenttypestheanswerintheinputdialogbox,theprogramdisplaysamessagedialogboxtoindicatewhethertheansweriscorrect.,SubtractionQuiz,26,Problem:BodyMassIndex,BodyMassIndex(BMI)isameasureofhealthonweight.Itcanbecalculatedbytakingyourweightinkilogramsanddividingbythesquareofyourheightinmeters.TheinterpretationofBMIforpeople16yearsorolderisasfollows:,ComputeBMI,27,Problem:ComputingTaxes,TheUSfederalpersonalincometaxiscalculatedbasedonthefilingstatusandtaxableincome.Therearefourfilingstatuses:singlefilers,marriedfilingjointly,marriedfilingseparately,andheadofhousehold.Thetaxratesfor2009areshownbelow.,28,Problem:ComputingTaxes,cont.,ComputeTax,if(status=0)/Computetaxforsinglefilerselseif(status=1)/Computetaxformarriedfilejointlyelseif(status=2)/Computetaxformarriedfileseparatelyelseif(status=3)/Computetaxforheadofhouseholdelse/Displaywrongstatus,29,LogicalOperators,OperatorName!notbreak;case1:computetaxesformarriedfilejointly;break;case2:computetaxesformarriedfileseparately;break;case3:computetaxesforheadofhousehold;break;default:System.out.println(Errors:invalidstatus);System.exit(0);,44,switchStatementFlowChart,45,switchStatementRules,switch(switch-expression)casevalue1:statement(s)1;break;casevalue2:statement(s)2;break;casevalueN:statement(s)N;break;default:statement(s)-for-default;,46,switchStatementRules,Thekeywordbreakisoptional,butitshouldbeusedattheendofeachcaseinordertoterminatetheremainderoftheswitchstatement.Ifthebreakstatementisnotpresent,thenextcasestatementwillbeexecuted.,switch(switch-expression)casevalue1:statement(s)1;break;casevalue2:statement(s)2;break;casevalueN:statement(s)N;break;default:statement(s)-for-default;,Thecasestatementsareexecutedinsequentialorder,buttheorderofthecases(includingthedefaultcase)doesnotmatter.However,itisgoodprogrammingstyletofollowthelogicalsequenceofthecasesandplacethedefaultcaseattheend.,47,Traceswitchstatement,switch(ch)casea:System.out.println(ch);caseb:System.out.println(ch);casec:System.out.println(ch);,Supposechisa:,animation,48,Traceswitchstatement,switch(ch)casea:System.out.println(ch);caseb:System.out.println(ch);casec:System.out.println(ch);,chisa:,animation,49,Traceswitchstatement,switch(ch)casea:System.out.println(ch);caseb:System.out.println(ch);casec:System.out.println(ch);,Executethisline,animation,50,Traceswitchstatement,switch(ch)casea:System.out.println(ch);caseb:System.out.println(ch);casec:System.out.println(ch);,Executethisline,animation,51,Traceswitchstatement,switch(ch)casea:System.out.println(ch);caseb:System.out.println(ch);casec:System.out.println(ch);,Executethisline,animation,52,Traceswitchstatement,switch(ch)casea:System.out.println(ch);caseb:System.out.println(ch);casec:System.out.println(ch);Nextstatement;,Executenextstatement,animation,53,Traceswitchstatement,switch(ch)casea:System.out.println(ch);break;caseb:System.out.println(ch);break;casec:System.out.println(ch);,Supposechisa:,animation,54,Traceswitchstatement,switch(ch)casea:System.out.println(ch);break;caseb:System.out.println(ch);break;casec:System.out.println(ch);,chisa:,animation,55,Traceswitchstatement,switch(ch)casea:System.out.println(ch);break;caseb:System.out.println(ch);break;casec:System.out.println(ch);,Executethisline,animation,56,Traceswitchstatement,switch(ch)casea:System.out.println(ch);break;caseb:System.out.println(ch);break;casec:System.out.println(ch);,Executethisline,animation,57,Traceswitchstatement,switch(ch)casea:System.out.println(ch);break;caseb:System.out.println(ch);break;casec:System.out.println(ch);Nextstatement;,Executenextstatement,animation,58,ConditionalOperator,if(x0)y=1elsey=-1;isequivalenttoy=(x0)?1:-1;(boolean-expression)?expression1:expression2TernaryoperatorBinaryoperatorUnaryoperator,59,ConditionalOperator,if(num%2=0)System.out.println(num+“iseven”);elseSystem.out.println(num+“isodd”);System.out.println(num%2=0)?num+“iseven”:num+“isodd”

温馨提示

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

最新文档

评论

0/150

提交评论