java语言程序设计 基础篇课件(第3章)英文

PPT
  • 阅读 108 次
  • 下载 0 次
  • 页数 69 页
  • 大小 669.508 KB
  • 2022-12-05 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
java语言程序设计 基础篇课件(第3章)英文
可在后台配置第一页与第二页中间广告代码
java语言程序设计 基础篇课件(第3章)英文
可在后台配置第二页与第三页中间广告代码
java语言程序设计 基础篇课件(第3章)英文
可在后台配置第三页与第四页中间广告代码
java语言程序设计 基础篇课件(第3章)英文
java语言程序设计 基础篇课件(第3章)英文
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 69
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
文本内容

【文档说明】java语言程序设计 基础篇课件(第3章)英文.ppt,共(69)页,669.508 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-92601.html

以下为本文档部分文字说明:

Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807Chapte

r3Selections1Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.013

2130807MotivationsIfyouassignedanegativevalueforradiusinListing2.1,ComputeArea.java,theprogramwouldp

rintaninvalidresult.Iftheradiusisnegative,youdon'twanttheprogramtocomputethearea.Howcanyoudealwiththissituation?2Lian

g,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807Objec

tives3TodeclarebooleantypeandwriteBooleanexpressionsusingcomparisonoperators(§3.2).ToprogramAdditionQuizusingBooleanexpressions(§3.3).To

implementselectioncontrolusingone-wayifstatements(§3.4)ToprogramtheGuessBirthdaygameusingone-wayifstatements(§3.5).To

implementselectioncontrolusingtwo-wayifstatements(§3.6).Toimplementselectioncontrolusingnestedifstatements(§3.7).Toavoidcommonerror

sinifstatements(§3.8).Toprogramusingselectionstatementsforavarietyofexamples(BMI,ComputeTax,SubtractionQuiz)(§3.9-3.11).Togenerate

randomnumbersusingtheMath.random()method(§3.9).Tocombineconditionsusinglogicaloperators(&&,||,and!)(§3.12).Toprogram

usingselectionstatementswithcombinedconditions(LeapYear,Lottery)(§§3.13-3.14).Toimplementselectioncontrolusing

switchstatements(§3.15).Towriteexpressionsusingtheconditionaloperator(§3.16).ToformatoutputusingtheSystem.out.pri

ntfmethodandtoformatstringsusingtheString.formatmethod(§3.17).Toexaminetherulesgoverningoperatorprecedenceandassociativity(§3.1

8).(GUI)Togetuserconfirmationusingconfirmationdialogs(§3.19).Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEd

ucation,Inc.Allrightsreserved.0132130807ThebooleanTypeandOperatorsOfteninaprogramyouneedtocomparetwovalues,suchaswhetherii

sgreaterthanj.Javaprovidessixcomparisonoperators(alsoknownasrelationaloperators)thatcanbeusedtocomparetwovalues.Theresultofthecomparisoni

saBooleanvalue:trueorfalse.booleanb=(1>2);4Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.01321

30807ComparisonOperators5OperatorName<lessthan<=lessthanorequalto>greaterthan>=greaterthanorequalto==equalto!=notequaltoLiang,IntroductiontoJavaPro

gramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807Problem:ASimpleMathLearningTool6AdditionQuizRun

Thisexamplecreatesaprogramtoletafirstgraderpracticeadditions.Theprogramrandomlygeneratestwosingle-digitintegersnumber1andnumber2anddisplaysaquest

ionsuchas“Whatis7+9?”tothestudent.Afterthestudenttypestheanswer,theprogramdisplaysamessagetoindicatewhethertheansweristrueorfalse.Liang

,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807One-wayifStatements

if(boolean-expression){statement(s);}7BooleanExpressiontrueStatement(s)false(radius>=0)truearea=radius*radius*PI;Syst

em.out.println("Theareaforthecircleof"+"radius"+radius+"is"+area);false(A)(B)if(radius>=0){area=radius*radius*PI;System.out.println("The

area"+"forthecircleofradius"+radius+"is"+area);}Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011Pears

onEducation,Inc.Allrightsreserved.0132130807Note8ifi>0{System.out.println("iispositive");}(a)Wrong(b)Correctif(i>0){System.out.println("iispositive"

);}if(i>0){System.out.println("iispositive");}(a)Equivalent(b)if(i>0)System.out.println("iispositive");L

iang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807Sim

pleifDemo9SimpleIfDemoRunWriteaprogramthatpromptstheusertoenteraninteger.Ifthenumberisamultipleof5,printHiFive.Ifthenumberisdivisibleb

y2,printHiEven.Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807Problem:GuessingBirthdayThe

programcanguessyourbirthdate.Runtoseehowitworks.10GuessBirthdayRun16171819202122232425262728293031Set1891011121

314152425262728293031Set2135791113151719212325272931Set32367101114151819222326273031Set4456712131415

2021222328293031Set5+=19Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807MathematicsBas

isfortheGame19is10011inbinary.7is111inbinary.23is11101inbinary1116171819202122232425262728293031Set18910111213

14152425262728293031Set2135791113151719212325272931Set32367101114151819222326273031Set44567121314152021222328293031Set5+=191000010+1100110011010

+100111197100001000100+11110123Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.01

32130807TheTwo-wayifStatementif(boolean-expression){statement(s)-for-the-true-case;}else{statement(s)-for-

the-false-case;}12BooleanExpressionfalsetrueStatement(s)forthefalsecaseStatement(s)forthetruecaseLiang,Introduct

iontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807if...elseExampleif(radius>=0){area=radius*radi

us*3.14159;System.out.println("Theareaforthe“+“circleofradius"+radius+"is"+area);}else{System.out.println("Negativeinpu

t");}13Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807MultipleAlternativeifStatements14if(

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';Equivalentif(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';Liang,IntroductiontoJavaProgramming,EighthEdition,(c)201

1PearsonEducation,Inc.Allrightsreserved.0132130807Traceif-elsestatement15if(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.0Theconditionisfa

lseanimationLiang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807T

raceif-elsestatement16if(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.0TheconditionisfalseanimationLiang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Al

lrightsreserved.0132130807Traceif-elsestatement17if(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.0TheconditionistrueanimationLiang,IntroductiontoJavaProgra

mming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807Traceif-elsestatement18if(score>=90.0)grade='A';elseif(score>=80.0)g

rade='B';elseif(score>=70.0)grade='C';elseif(score>=60.0)grade='D';elsegrade='F';Supposescoreis70.0gradeisCanimationLiang,Introductio

ntoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807Traceif-elsestatement19if(score>=90.0)grad

e='A';elseif(score>=80.0)grade='B';elseif(score>=70.0)grade='C';elseif(score>=60.0)grade='D';elsegrade='F';Supposescor

eis70.0ExittheifstatementanimationLiang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.013213080

7NoteTheelseclausematchesthemostrecentifclauseinthesameblock.20inti=1;intj=2;intk=3;if(i>j)if(i>k)System.out.println("A");else

System.out.println("B");(a)Equivalent(b)inti=1;intj=2;intk=3;if(i>j)if(i>k)System.out.println("A");elseSystem.out.println("B");Liang,

IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807Note,cont.No

thingisprintedfromtheprecedingstatement.Toforcetheelseclausetomatchthefirstifclause,youmustaddapairofbraces:in

ti=1;intj=2;intk=3;if(i>j){if(i>k)System.out.println("A");}elseSystem.out.println("B");ThisstatementprintsB.21Liang,IntroductiontoJavaProg

ramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807CommonErrorsAddingasemicolonattheendofanifcl

auseisacommonmistake.if(radius>=0);{area=radius*radius*PI;System.out.println("Theareaforthecircleofradius"+radius+"is"+area);}

Thismistakeishardtofind,becauseitisnotacompilationerrororaruntimeerror,itisalogicerror.Thiserroroftenoccurswh

enyouusethenext-lineblockstyle.22WrongLiang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.A

llrightsreserved.0132130807TIP23if(number%2==0)even=true;elseeven=false;(a)Equivalentbooleaneven=number%2==0;(b)Liang,Introd

uctiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807CAUTION24if(even==true)System.out.println

("Itiseven.");(a)Equivalentif(even)System.out.println("Itiseven.");(b)Liang,IntroductiontoJavaProgramming,Eig

hthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807Problem:AnImprovedMathLearningToolThis

examplecreatesaprogramtoteachafirstgradechildhowtolearnsubtractions.Theprogramrandomlygeneratestwosingl

e-digitintegersnumber1andnumber2withnumber1>number2anddisplaysaquestionsuchas“Whatis9–2?”tothestudent.Afte

rthestudenttypestheanswerintheinputdialogbox,theprogramdisplaysamessagedialogboxtoindicatewhethertheansweriscorrect.25SubtractionQuizRunLia

ng,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807Problem:BodyMassIndexBodyMassIndex(

BMI)isameasureofhealthonweight.Itcanbecalculatedbytakingyourweightinkilogramsanddividingbythesquareofyourheightinm

eters.TheinterpretationofBMIforpeople16yearsorolderisasfollows:26ComputeBMIRunBMIInterpretationbelow16seri

ousunderweight16-18underweight18-24normalweight24-29overweight29-35seriouslyoverweightabove35gravelyoverweightLiang

,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807Problem:ComputingTaxesThe

USfederalpersonalincometaxiscalculatedbasedonthefilingstatusandtaxableincome.Therearefourfilingstatuses:singlefilers,marriedfilingjointly,

marriedfilingseparately,andheadofhousehold.Thetaxratesfor2009areshownbelow.27MarginalTaxRateSingleMarriedFilingJoin

tlyorQualifiedWidow(er)MarriedFilingSeparatelyHeadofHousehold10%$0–$8,350$0–$16,700$0–$8,350$0–$11,95015%$8,351–$33,950$16,701–$

67,900$8,351–$33,950$11,951–$45,50025%$33,951–$82,250$67,901–$137,050$33,951–$68,525$45,501–$117,45028%$82,251–$17

1,550$137,051–$208,850$68,525–$104,425$117,451–$190,20033%$171,551–$372,950$208,851–$372,950$104,426–$186,

475$190,201-$372,95035%$372,951+$372,951+$186,476+$372,951+Liang,IntroductiontoJavaProgramming,EighthEdition,(c)201

1PearsonEducation,Inc.Allrightsreserved.0132130807Problem:ComputingTaxes,cont.if(status==0){//Computetaxforsinglefilers}elseif(s

tatus==1){//Computetaxformarriedfilejointly}elseif(status==2){//Computetaxformarriedfileseparately}elseif(status==3){//Computet

axforheadofhousehold}else{//Displaywrongstatus}28ComputeTaxRunLiang,IntroductiontoJavaProgramming,EighthEdition,(c)20

11PearsonEducation,Inc.Allrightsreserved.0132130807LogicalOperators29OperatorName!not&&and||or^exclusiveorLiang,IntroductiontoJavaProgramming,Eig

hthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807TruthTableforOperator!30p!ptruefalsefalsetrue

Example(assumeage=24,gender='M')!(age>18)isfalse,because(age>18)istrue.!(gender!='F')istrue,because(

grade!='F')isfalse.Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807TruthTablef

orOperator&&31p1p2p1&&p2falsefalsefalsefalsetruefalsetruefalsefalsetruetruetrueExample(assumeage=24,gender='F')(age>18)&&(gender=='F')istrue

,because(age>18)and(gender=='F')arebothtrue.(age>18)&&(gender!='F')isfalse,because(gender!='F')isfalse.Liang,IntroductiontoJavaProgramming,Ei

ghthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807TruthTableforOperator||32p1p2p1||p2falsefalsefalsefalsetruet

ruetruefalsetruetruetruetrueExample(assumeage=24,gender='F')(age>34)||(gender=='F')istrue,because(gender=='F')istrue.(age>34)||(gender=

='M')isfalse,because(age>34)and(gender=='M')arebothfalse.Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allr

ightsreserved.0132130807Examples33Hereisaprogramthatcheckswhetheranumberisdivisibleby2and3,whetheranumberisdivisibleby2or3

,andwhetheranumberisdivisibleby2or3butnotboth:TestBooleanOperatorsRunLiang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonE

ducation,Inc.Allrightsreserved.0132130807TruthTableforOperator!34p!ptruefalsefalsetrueExample!(1>2)istrue,because(1>2)isfalse.!(1>0)isfa

lse,because(1>0)istrue.Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807TruthTa

bleforOperator&&35p1p2p1&&p2falsefalsefalsefalsetruefalsetruefalsefalsetruetruetrueExample(3>2)&&(5>=5

)istrue,because(3>2)and(5>=5)arebothtrue.(3>2)&&(5>5)isfalse,because(5>5)isfalse.Liang,Introductiont

oJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807TruthTableforOperator||36p1p2p1||p2falsefalsefalsefalsetrue

truetruefalsetruetruetruetrueExample(2>3)||(5>5)isfalse,because(2>3)and(5>5)arebothfalse.(3>2)||(5>5)istrue,because(3>2)i

strue.Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807TruthTableforOperator^37p

1p2p1^p2falsefalsefalsefalsetruetruetruefalsetruetruetruefalseExample(assumeage=24,gender='F')(age>34)^(g

ender=='F')istrue,because(age>34)isfalsebut(gender=='F')istrue.(age>34)||(gender=='M')isfalse,because(age>34)and(gender=='M')arebothfalse.Liang

,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807Examples3

8System.out.println("Is"+number+"divisibleby2and3?"+((number%2==0)&&(number%3==0)));System.out.println("Is"+number+"divisibleby2or3?"+((num

ber%2==0)||(number%3==0)));System.out.println("Is"+number+"divisibleby2or3,butnotboth?"+((number%2==0)^(number%3==0)));TestBooleanOperator

sRunLiang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807The&and|Op

eratorsSupplementIII.B,“The&and|Operators”39CompanionWebsiteLiang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation

,Inc.Allrightsreserved.0132130807The&and|OperatorsIfxis1,whatisxafterthisexpression?(x>1)&(x++<10)If

xis1,whatisxafterthisexpression?(1>x)&&(1>x++)Howabout(1==x)|(10>x++)?(1==x)||(10>x++)?40CompanionWebsiteLiang,IntroductiontoJavaProgramming,E

ighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807Problem:DeterminingLeapYear?41LeapYearR

unThisprogramfirstpromptstheusertoenterayearasanintvalueandchecksifitisaleapyear.Ayearisaleapyearifitisdivisibleby4butnotby100,ori

tisdivisibleby400.(year%4==0&&year%100!=0)||(year%400==0)Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allri

ghtsreserved.0132130807Problem:LotteryWriteaprogramthatrandomlygeneratesalotteryofatwo-digitnumber,promptstheuser

toenteratwo-digitnumber,anddetermineswhethertheuserwinsaccordingtothefollowingrule:42LotteryRun•Iftheuserinputmatc

hesthelotteryinexactorder,theawardis$10,000.•Iftheuserinputmatchesthelottery,theawardis$3,000.•Ifonedigitin

theuserinputmatchesadigitinthelottery,theawardis$1,000.Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation

,Inc.Allrightsreserved.0132130807switchStatementsswitch(status){case0:computetaxesforsinglefilers;break;case1:comput

etaxesformarriedfilejointly;break;case2:computetaxesformarriedfileseparately;break;case3:computetaxesforheadofhouseho

ld;break;default:System.out.println("Errors:invalidstatus");System.exit(0);}43Liang,IntroductiontoJavaProgramming,EighthEdition,(c)201

1PearsonEducation,Inc.Allrightsreserved.0132130807switchStatementFlowChart44statusis0Computetaxforsinglefile

rsbreakComputetaxformarriedfilejointlybreakstatusis1Computetaxformarriedfileseparatlybreakstatusis2Computetaxforheadofho

useholdbreakstatusis3DefaultactionsdefaultNextStatementLiang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducatio

n,Inc.Allrightsreserved.0132130807switchStatementRules45switch(switch-expression){casevalue1:statement(s)1;break;casevalue2:statement(s)2;break

;…casevalueN:statement(s)N;break;default:statement(s)-for-default;}Theswitch-expressionmustyieldavalueofchar,byte,sh

ort,orinttypeandmustalwaysbeenclosedinparentheses.Thevalue1,...,andvalueNmusthavethesamedatatypeasthevalueofthe

switch-expression.Theresultingstatementsinthecasestatementareexecutedwhenthevalueinthecasestatementmatchesthevalueoftheswitch

-expression.Notethatvalue1,...,andvalueNareconstantexpressions,meaningthattheycannotcontainvariablesinthee

xpression,suchas1+x.Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserv

ed.0132130807switchStatementRulesThekeywordbreakisoptional,butitshouldbeusedattheendofeachcaseinordertoterminatetheremainderoftheswitchsta

tement.Ifthebreakstatementisnotpresent,thenextcasestatementwillbeexecuted.46switch(switch-expression){casevalue1:statement(s

)1;break;casevalue2:statement(s)2;break;…casevalueN:statement(s)N;break;default:statement(s)-for-default;}Thedefaultcase,whichis

optional,canbeusedtoperformactionswhennoneofthespecifiedcasesmatchestheswitch-expression.Thecasestatementsareexecutedinsequentialo

rder,buttheorderofthecases(includingthedefaultcase)doesnotmatter.However,itisgoodprogrammingstyletofollowthelogicalsequenceofthecasesan

dplacethedefaultcaseattheend.Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807Traceswitchsta

tement47switch(ch){case'a':System.out.println(ch);case'b':System.out.println(ch);case'c':System.out.println(ch);}Supposechis'a':animationLian

g,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807Tr

aceswitchstatement48switch(ch){case'a':System.out.println(ch);case'b':System.out.println(ch);case'c':System.

out.println(ch);}chis'a':animationLiang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.

0132130807Traceswitchstatement49switch(ch){case'a':System.out.println(ch);case'b':System.out.println(ch);case'c

':System.out.println(ch);}ExecutethislineanimationLiang,IntroductiontoJavaProgramming,EighthEdition,(c)2011

PearsonEducation,Inc.Allrightsreserved.0132130807Traceswitchstatement50switch(ch){case'a':System.out.println(ch);case'b':System.out.println(ch

);case'c':System.out.println(ch);}ExecutethislineanimationLiang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.

Allrightsreserved.0132130807Traceswitchstatement51switch(ch){case'a':System.out.println(ch);case'b':System.out.pri

ntln(ch);case'c':System.out.println(ch);}ExecutethislineanimationLiang,IntroductiontoJavaProgramming,EighthEdition,(c)2011Pe

arsonEducation,Inc.Allrightsreserved.0132130807Traceswitchstatement52switch(ch){case'a':System.out.println(ch);ca

se'b':System.out.println(ch);case'c':System.out.println(ch);}Nextstatement;ExecutenextstatementanimationLiang,Introdu

ctiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807Traceswitchstatement53switch(c

h){case'a':System.out.println(ch);break;case'b':System.out.println(ch);break;case'c':System.out.println(ch);}Supposechis'a':animationLiang,Introducti

ontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807Traceswitchs

tatement54switch(ch){case'a':System.out.println(ch);break;case'b':System.out.println(ch);break;case'c':System.ou

t.println(ch);}chis'a':animationLiang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsres

erved.0132130807Traceswitchstatement55switch(ch){case'a':System.out.println(ch);break;case'b':System.out.println(ch);break;case

'c':System.out.println(ch);}ExecutethislineanimationLiang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrigh

tsreserved.0132130807Traceswitchstatement56switch(ch){case'a':System.out.println(ch);break;case'b':System.out.println

(ch);break;case'c':System.out.println(ch);}ExecutethislineanimationLiang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEdu

cation,Inc.Allrightsreserved.0132130807Traceswitchstatement57switch(ch){case'a':System.out.println(ch);break;case'b':System.out.pr

intln(ch);break;case'c':System.out.println(ch);}Nextstatement;ExecutenextstatementanimationLiang,Introd

uctiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807ConditionalOperatorif(x>0)y=1elsey=-1;is

equivalenttoy=(x>0)?1:-1;(boolean-expression)?expression1:expression2TernaryoperatorBinaryoperatorUnaryoperator58Liang,IntroductiontoJavaProgramming,

EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807ConditionalOperatorif(num%2==0)System.out.println(num+“iseven”);elseSystem.out

.println(num+“isodd”);System.out.println((num%2==0)?num+“iseven”:num+“isodd”);59Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011Pear

sonEducation,Inc.Allrightsreserved.0132130807ConditionalOperator,cont.(boolean-expression)?exp1:exp260Liang,IntroductiontoJavaProgramming,Eight

hEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807FormattingOutput61Usetheprintfstatement.System.

out.printf(format,items);Whereformatisastringthatmayconsistofsubstringsandformatspecifiers.Aformatspecifierspecifieshowanitemshouldbedisplayed.Ani

temmaybeanumericvalue,character,booleanvalue,orastring.Eachspecifierbeginswithapercentsign.Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011P

earsonEducation,Inc.Allrightsreserved.0132130807Frequently-UsedSpecifiers62SpecifierOutputExample%babooleanvaluetrueorfalse%cacharacter'a'%da

decimalinteger200%fafloating-pointnumber45.460000%eanumberinstandardscientificnotation4.556000e+01%sastring"Javaiscool"intcount=5;doubleamoun

t=45.56;System.out.printf("countis%dandamountis%f",count,amount);displaycountis5andamountis45.560000itemsLiang,IntroductiontoJavaProgramming,Eight

hEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807OperatorPrecedencevar++,var--+,-(Unaryp

lusandminus),++var,--var(type)Casting!(Not)*,/,%(Multiplication,division,andremainder)+,-(Binaryadditionands

ubtraction)<,<=,>,>=(Comparison)==,!=;(Equality)^(ExclusiveOR)&&(ConditionalAND)Short-circuitAND||(ConditionalO

R)Short-circuitOR=,+=,-=,*=,/=,%=(Assignmentoperator)63Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011Pe

arsonEducation,Inc.Allrightsreserved.0132130807OperatorPrecedenceandAssociativityTheexpressionintheparenthesesisevaluatedfirst

.(Parenthesescanbenested,inwhichcasetheexpressionintheinnerparenthesesisexecutedfirst.)Whenevaluatinganexpressionwithoutparent

heses,theoperatorsareappliedaccordingtotheprecedenceruleandtheassociativityrule.Ifoperatorswiththesameprecedencearenexttoeachother,theirassocia

tivitydeterminestheorderofevaluation.Allbinaryoperatorsexceptassignmentoperatorsareleft-associative.64Liang,IntroductiontoJavaProgramming,Eighth

Edition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807OperatorAssociativityWhentwooperatorswiththesameprecedenceareevaluated,theassociativ

ityoftheoperatorsdeterminestheorderofevaluation.Allbinaryoperatorsexceptassignmentoperatorsareleft-associati

ve.a–b+c–disequivalentto((a–b)+c)–dAssignmentoperatorsareright-associative.Therefore,theexpressiona=b+=c=5isequivalent

toa=(b+=(c=5))65Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807ExampleApplyingtheop

eratorprecedenceandassociativityrule,theexpression3+4*4>5*(4+3)-1isevaluatedasfollows:663+4*4>5*(4+3)-13+4*4

>5*7–13+16>5*7–13+16>35–119>35–119>34false(1)insideparenthesesfirst(2)multiplication(3)multiplication(4)addition(

5)subtraction(6)greaterthanLiang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved

.0132130807CompanionWebsiteOperandEvaluationOrderSupplementIII.A,“Advanceddiscussionsonhowanexpressionisevalua

tedintheJVM.”67Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807(GUI)C

onfirmationDialogsintoption=JOptionPane.showConfirmDialog(null,"Continue");68Liang,IntroductiontoJavaProgramming,EighthEdition,(c)

2011PearsonEducation,Inc.Allrightsreserved.0132130807Problem:GuessingBirthDateTheprogramcanguessyourbirthdate.Runtoseehowitworks.69GuessBirthDateUs

ingConfirmationDialogRun16171819202122232425262728293031Set1891011121314152425262728293031Set2135791113151719212325272931Set32367101114151819222326

273031Set44567121314152021222328293031Set5+=19

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?