第4章程序流程控制語句_第1頁
第4章程序流程控制語句_第2頁
第4章程序流程控制語句_第3頁
第4章程序流程控制語句_第4頁
第4章程序流程控制語句_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第4章程序流程控制語句4.1結(jié)構(gòu)化程序的3種結(jié)構(gòu)4.2選擇語句4.3循環(huán)語句4.4循環(huán)跳離語句本章要點:了解結(jié)構(gòu)化程序的三種結(jié)構(gòu)掌握if語句與switch語句的用法掌握while與do-while的用法和區(qū)別能夠用for語句實現(xiàn)循環(huán)應用理解break語句與continue語句的區(qū)別和使用4.1結(jié)構(gòu)化程序的三種結(jié)構(gòu)

結(jié)構(gòu)化的程序通過三種結(jié)構(gòu)可以解決:順序結(jié)構(gòu)(SequenceStructure)選擇結(jié)構(gòu)(SelectionStructure):if-else,switch循環(huán)結(jié)構(gòu)(IterationStructure):while,do-while,for順序結(jié)構(gòu)順序結(jié)構(gòu)中,語句的執(zhí)行順序是按照程序語句書寫的順序,從上到下依次執(zhí)行。選擇結(jié)構(gòu)選擇結(jié)構(gòu)是指下一步執(zhí)行語句有多個選擇分支,程序執(zhí)行流程根據(jù)當前的狀態(tài),選擇其中一個分支執(zhí)行。循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)是指如果滿足一定條件,則反復執(zhí)行一段程序,直到條件不再滿足為止。條件語句if-elseif語句一般采取以下形式:

if(p) A else B生活中使用if判斷的實例?If(分數(shù)是100)Then

考得太好了

Elseif(分數(shù)高于85)then

不錯

Elseif(分數(shù)高于60)then

繼續(xù)努力

Else

不及格

Endif4.2選擇語句

布爾表達式p是任意一個返回布爾數(shù)據(jù)類型的表達式,而且必須是(比C或C++要嚴格)。與C或C++一樣,每個單一語句后面都要有分號。為了增強程序的可讀性,應將if或else后的語句用{}括起來。

else子句是任選的,不能單獨作為語句使用,它必須和if語句配對使用,并且總是與離它最近的if配對。inti1=123;inti2=456;if(i1>i2){System.out.println(“Thebiggeroneis:”+i1);}else{System.out.println(“Thebiggeroneis:”+i2);}4.2選擇語句

如果if語句中的語句A或B也是一個if語句,該語句稱為嵌套條件語句。if(i>0)if(j>5)y=1;elsey=-1;4.2選擇語句

多分支語句switch switch(expression) { casevalue1: {statements1; break; } …… casevalueN: { statementsN; break; } default: { defaultStatements; }}4.2選擇語句

表達式expression的返回值類型必須是這幾種類型之一:int、byte、char、short。case子句中的值valueI必須是常量,而且所有case子句中的值應是不同的。default子句是任選的。break語句用來在執(zhí)行完一個case分支后,使程序跳出switch語句,即終止switch語句的執(zhí)行。如果某個case分支后沒有break語句,程序?qū)⒉辉僮霰容^而執(zhí)行下一個分支。4.2選擇語句

inta=100;intb=20;intc;charoper=‘+’;switch(oper){case‘+’:{c=a+b;break;}case‘-’:{c=a-b;break;}default:{c=a*b;break;}}4.2選擇語句

問題:1.程序中switch語句中變量value是什么類型?可以是float類型嗎?可以是char類型嗎?2.程序中break語句的作用是什么?3.程序中default的作用是什么?4.switch語句與if-elseif-else語句相比較,有何優(yōu)勢?4.2選擇語句

編一程序產(chǎn)生3個20以內(nèi)的隨機數(shù)作為三角形的三條邊,檢驗是否構(gòu)成三角形,若可以,輸出三條邊的長度,計算其面積并輸出。提示:1、a,b,c是三角形的三條邊,則任意兩邊的和大于第三邊。(或任意兩邊的差小于第三邊)。面積=Math.sqrt(s*(s-a)*(s-b)*s-c)),其中s=1/2(a+b+c)2、產(chǎn)生一個[x1,x2]內(nèi)的隨機整數(shù)xx=(int)(Math.random()*(x2-x1+1)+x1)Math.random()產(chǎn)生一個[0,1)區(qū)間內(nèi)的實數(shù)。4.2選擇語句

Java循環(huán)語句

Java跳轉(zhuǎn)語句4.3循環(huán)語句

引入問題編一程序求1-100的和并輸出。1如何實現(xiàn)?2用循環(huán)語句實現(xiàn)3寫出C語言的實現(xiàn)代碼4C循環(huán)語句由哪幾個部分組成?Java循環(huán)語句

和C語言一樣,Java的循環(huán)語句也有三種形式,它們是:while循環(huán)語句for循環(huán)語句do…while循環(huán)語句。其中while和for循環(huán)語句對應當型結(jié)構(gòu)(圖1),do…while語句對應直到型結(jié)構(gòu)(圖2)。圖1當型結(jié)構(gòu)圖2直到型結(jié)構(gòu)Java循環(huán)語句的組成部分循環(huán)語句由四個部分組成:初始化部分(initialization)循環(huán)條件部分(loop-condition)循環(huán)體部分(body)迭代部分(iteration)1-100求和的Java實現(xiàn)1使用while語句intcount=1;intsum=0;while(count<=100){ sum+=count; count++;}3使用do…while語句intcount=1;intsum=0;do{ sum+=count; count++;}while(count<=100);2使用for語句intsum=0,count;for(intcount=0;count<=100;count++){sum+=count;}①找出三種語句形式中的四個組成部分?②比較三種循環(huán)語句的差異上機驗證三段代碼比較三種循環(huán)語句while語句、for語句是當型循環(huán)結(jié)構(gòu)。它們的含義是當循環(huán)條件滿足時,執(zhí)行循環(huán)體。當循環(huán)條件不滿足時終止循環(huán)。若循環(huán)初始條件不滿足,則循環(huán)體一次都不被執(zhí)行。do…while語句是直到型循環(huán)結(jié)構(gòu),它的含義是執(zhí)行循環(huán)體,直到循環(huán)條件不滿足時結(jié)束循環(huán)。無論循環(huán)條件是否滿足,循環(huán)體都會被執(zhí)行一次。編程實踐編程求出1-100之間所有偶數(shù)的和。循環(huán)語句的嵌套使用

有時候,為了解決較為復雜的問題,循環(huán)語句的循環(huán)體也需要用循環(huán)語句,這種用法就是循環(huán)語句的嵌套使用。問題:求1!+2!+3!+…+10!inti,j;longfact=1,sum=0;for(i=1;i<=10;i++){//外層循環(huán)for(j=1;j<=i;j++)//內(nèi)層循環(huán)fact*=j;sum+=fact;//累加fact=1;//清除上一次循環(huán)結(jié)果,//為下次循環(huán)作好準備}內(nèi)層循環(huán)的作用是什么?內(nèi)層循環(huán)的循環(huán)條件和外層循環(huán)有何關系?請上機調(diào)試!!編程實踐編一程序打印九九乘法表。運行結(jié)果如下:標號語句labelbreak語句continue語句return語句C語言有那些跳轉(zhuǎn)語句?4.4循環(huán)跳離語句

標號語句lable在Java中,標號是一個標識符,用于給某程序塊一個名字。格式如下:

label:{………}

通常與break、continue語句一起使用,實現(xiàn)程序的跳轉(zhuǎn)。break語句break語句的作用是終止包含break語句的程序塊,其語法格式為:

break[label];break語句有兩種用法:(1)不帶標號的break語句??捎迷趕witch、while、for和do-while循環(huán)語句中,用來終止開關語句和循環(huán)語句。(2)帶標號的break語句。用在多重循環(huán)語句中,跳出標號所指定的塊,并從緊跟該塊后的第一條語句處執(zhí)行。

breakBlockLabel;與C語言有何不同?a:{//標記代碼塊a…… b:{ //標記代碼塊b……c:{//標記代碼塊c…… breakb; ……//這段語句將不執(zhí)行 }//代碼塊c結(jié)束…… //這段語句也不執(zhí)行}//代碼塊b結(jié)束…… //從這段語句開始執(zhí)行}//代碼塊a結(jié)束Java控制語句Continue語句:

continue語句只能用在循環(huán)中,它的作用是終止本次循環(huán),執(zhí)行下一次循環(huán)。語法格式如下:

continue[label];continue語句有帶標號和不帶標號兩種形式。(1)不帶標號的continue語句用來結(jié)束本次循環(huán),跳過循環(huán)體中下面尚未執(zhí)行的語句,接著進行終止條件的判斷,以決定是否繼續(xù)循環(huán)。

(2)帶標號的continue語句,可以用continue跳轉(zhuǎn)到標號指明的循環(huán)中,這時的格式為continueouterLable;與C語言有何不同?outer:for(inti=0;i<10;i++)//外層循環(huán){inner:for(intj=0;j<10;j++)//內(nèi)層循環(huán){

if(i<j){ ……

continueouter; } ……}//內(nèi)層循環(huán)結(jié)束

……}//外層循環(huán)結(jié)束for(inti=0;i<10;i++){if(i==5) continue;System.out.print(i);}Java控制語句return語句

return語句的功能是從當前方法中退出,并返回到調(diào)用該方法的語句處繼續(xù)執(zhí)行程序,同時將方法中的運行結(jié)果也帶回到調(diào)用方法中。它的語法格式如下:

return[expression];或return([expression]);

其中expression為方法運行的結(jié)果,要返回到調(diào)用方法中的。注意,如果一個方法的返回值類型定義為void,則方法體中不一定要有return語句,方法執(zhí)行完后,自動返回到調(diào)用處。單獨一條return語句放在方法中間時,會產(chǎn)生編譯錯誤,因為其后的語句將不會執(zhí)行到。若真需要退出方法,可以將return語句嵌入轉(zhuǎn)移語句(如if-else)中實現(xiàn)。注意!Java跳轉(zhuǎn)語句與C語言跳轉(zhuǎn)語句區(qū)別Java有帶標號的break和continue語句。C沒有。Java沒有goto語句,C有。Java和C的return語句一樣。課堂練習閱讀分析程序,寫出其輸出結(jié)果 inti,j; one:for(i=1;i<=10;i++){ System.out.print("Pass"+i+":"); for(j=1;j<=100;j++){ if(j==5)breakone; System.out.print(j+""); } }命令行參數(shù)的使用classCommArg{publicstaticvoidmain(Stringargs[]){//Displaycommandargumentsinti;

if(args.length>0)//havesomecommandarguments{for(i=0;i<args.length;i++){System.out.println("arg["+i+"]="+args[i]);}

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論