版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第4章章 程序流程控制語(yǔ)句程序流程控制語(yǔ)句41結(jié)構(gòu)化程序的結(jié)構(gòu)化程序的3種結(jié)構(gòu)種結(jié)構(gòu)42選擇語(yǔ)句選擇語(yǔ)句43循環(huán)語(yǔ)句循環(huán)語(yǔ)句44循環(huán)跳離語(yǔ)句循環(huán)跳離語(yǔ)句本章要點(diǎn):本章要點(diǎn):n了解結(jié)構(gòu)化程序的三種結(jié)構(gòu)n掌握if語(yǔ)句與switch語(yǔ)句的用法n掌握while與do-while的用法和區(qū)別n能夠用for語(yǔ)句實(shí)現(xiàn)循環(huán)應(yīng)用n理解break語(yǔ)句與continue語(yǔ)句的區(qū)別和使用4.1 結(jié)構(gòu)化程序的三種結(jié)構(gòu)結(jié)構(gòu)化程序的三種結(jié)構(gòu) n結(jié)構(gòu)化的程序通過(guò)三種結(jié)構(gòu)可以解決:q順序結(jié)構(gòu)(Sequence Structure)q選擇結(jié)構(gòu)(Selection Structure):if-else, switchq循環(huán)結(jié)構(gòu)(
2、Iteration Structure):while, do-while, for順序結(jié)構(gòu) n順序結(jié)構(gòu)中,語(yǔ)句的執(zhí)行順序是按照程序語(yǔ)句書(shū)寫(xiě)的順序,從上到下依次執(zhí)行。 選擇結(jié)構(gòu)n選擇結(jié)構(gòu)是指下一步執(zhí)行語(yǔ)句有多個(gè)選擇分支,程序執(zhí)行流程根據(jù)當(dāng)前的狀態(tài),選擇其中一個(gè)分支執(zhí)行。循環(huán)結(jié)構(gòu)n循環(huán)結(jié)構(gòu)是指如果滿足一定條件,則反復(fù)執(zhí)行一段程序,直到條件不再滿足為止。 n條件語(yǔ)句 if-elseif語(yǔ)句一般采取以下形式:if(p) Aelse B生活中使用生活中使用if判斷的實(shí)例?判斷的實(shí)例?If (分?jǐn)?shù)是分?jǐn)?shù)是100)Then考得太好了考得太好了Elseif(分?jǐn)?shù)高于分?jǐn)?shù)高于85)then不錯(cuò)不錯(cuò)Elseif(
3、分?jǐn)?shù)高于分?jǐn)?shù)高于60)then繼續(xù)努力繼續(xù)努力Else不及格不及格End if4.2 選擇語(yǔ)句選擇語(yǔ)句 n 布爾表達(dá)式p是任意一個(gè)返回布爾數(shù)據(jù)類(lèi)型的表達(dá)式,而且必須是(比C或C +要嚴(yán)格)。n 與C或C+一樣,每個(gè)單一語(yǔ)句后面都要有分號(hào)。為了增強(qiáng)程序的可讀性,應(yīng)將if或else后的語(yǔ)句用括起來(lái)。n else子句是任選的,不能單獨(dú)作為語(yǔ)句使用,它必須和if語(yǔ)句配對(duì)使用,并且總是與離它最近的if配對(duì)。int i1 = 123;int i2 = 456;if( i1i2 ) System.out.println(“The bigger one is: ”+i1);else System.out.pr
4、intln(“The bigger one is: ”+i2);4.2 選擇語(yǔ)句選擇語(yǔ)句 如果if語(yǔ)句中的語(yǔ)句A或B也是一個(gè)if語(yǔ)句,該語(yǔ)句稱(chēng)為嵌套條件語(yǔ)句。 nif(i 0) if(j5) y = 1; else y = -1;4.2 選擇語(yǔ)句選擇語(yǔ)句 n 多分支語(yǔ)句 switchswitch (expression)case value1 : statements1; break;case valueN : statementsN; break;default : defaultStatements; 4.2 選擇語(yǔ)句選擇語(yǔ)句 n表達(dá)式expression的返回值類(lèi)型必須是這幾種類(lèi)型之一:
5、int、byte、char、short。ncase子句中的值valueI必須是常量,而且所有case子句中的值應(yīng)是不同的。ndefault子句是任選的。nbreak語(yǔ)句用來(lái)在執(zhí)行完一個(gè)case分支后,使程序跳出switch語(yǔ)句,即終止switch語(yǔ)句的執(zhí)行。如果某個(gè)case分支后沒(méi)有break語(yǔ)句,程序?qū)⒉辉僮霰容^而執(zhí)行下一個(gè)分支。4.2 選擇語(yǔ)句選擇語(yǔ)句 int a = 100;int b = 20;int c; char oper = +;switch(oper)case +: c = a b; break;case -: c = a - b; break;default : c = a
6、* b; break;4.2 選擇語(yǔ)句選擇語(yǔ)句 問(wèn)題:1.程序中程序中switch語(yǔ)句中變量語(yǔ)句中變量value是什么類(lèi)型?是什么類(lèi)型?可以是可以是float類(lèi)型嗎?可以是類(lèi)型嗎?可以是char類(lèi)型嗎?類(lèi)型嗎?2.程序中程序中break語(yǔ)句的作用是什么?語(yǔ)句的作用是什么?3.程序中程序中default的作用是什么?的作用是什么?4.switch語(yǔ)句與語(yǔ)句與if-else if-else語(yǔ)句相比較,有語(yǔ)句相比較,有何優(yōu)勢(shì)?何優(yōu)勢(shì)?4.2 選擇語(yǔ)句選擇語(yǔ)句 編一程序產(chǎn)生編一程序產(chǎn)生3個(gè)個(gè)20以?xún)?nèi)的隨機(jī)數(shù)作為三角形的三條邊,以?xún)?nèi)的隨機(jī)數(shù)作為三角形的三條邊,檢驗(yàn)是否構(gòu)成三角形,若可以,輸出三條邊的長(zhǎng)度
7、,檢驗(yàn)是否構(gòu)成三角形,若可以,輸出三條邊的長(zhǎng)度,計(jì)算其面積并輸出。計(jì)算其面積并輸出。提示:提示:1、a,b,c是三角形的三條邊,則任意兩邊的和大于第三邊。是三角形的三條邊,則任意兩邊的和大于第三邊。(或任意兩邊的差小于第三邊)。(或任意兩邊的差小于第三邊)。 面積面積=Math.sqrt(s*(s-a)*(s-b)*s-c),其中其中 s=1/2(a+b+c)2、產(chǎn)生一個(gè)、產(chǎn)生一個(gè)x1,x2內(nèi)的隨機(jī)整數(shù)內(nèi)的隨機(jī)整數(shù)x x=(int)(Math.random()*(x2-x1+1)+x1) Math.random()產(chǎn)生一個(gè)產(chǎn)生一個(gè)0,1)區(qū)間內(nèi)的實(shí)數(shù)。區(qū)間內(nèi)的實(shí)數(shù)。4.2 選擇語(yǔ)句選擇語(yǔ)句 J
8、ava循環(huán)語(yǔ)句 Java跳轉(zhuǎn)語(yǔ)句4.3 循環(huán)語(yǔ)句循環(huán)語(yǔ)句 引入問(wèn)題編一程序求1-100的和并輸出。1 如何實(shí)現(xiàn)?2 用循環(huán)語(yǔ)句實(shí)現(xiàn)3 寫(xiě)出C語(yǔ)言的實(shí)現(xiàn)代碼4 C 循環(huán)語(yǔ)句由哪幾個(gè)部分組成?Java循環(huán)語(yǔ)句循環(huán)語(yǔ)句 和和C語(yǔ)言一樣,語(yǔ)言一樣,Java的循環(huán)語(yǔ)的循環(huán)語(yǔ)句也有句也有三種形式三種形式,它們是:,它們是:nwhile 循環(huán)語(yǔ)句循環(huán)語(yǔ)句nfor 循環(huán)語(yǔ)句循環(huán)語(yǔ)句ndowhile循環(huán)語(yǔ)句。循環(huán)語(yǔ)句。 其中while和for循環(huán)語(yǔ)句對(duì)應(yīng)當(dāng)型結(jié)構(gòu)(圖1),dowhile語(yǔ)句對(duì)應(yīng)直到型結(jié)構(gòu)(圖2)。 圖1當(dāng)型結(jié)構(gòu)圖2直到型結(jié)構(gòu)JavaJava循環(huán)語(yǔ)句的組成部分循環(huán)語(yǔ)句的組成部分循環(huán)語(yǔ)句由四個(gè)部分組
9、成:循環(huán)語(yǔ)句由四個(gè)部分組成:n初始化部分(初始化部分(initialization)initialization)n循環(huán)條件部分循環(huán)條件部分(loop-condition)(loop-condition)n循環(huán)體部分循環(huán)體部分(body)(body)n迭代部分迭代部分(iteration)(iteration)1-100求和的Java實(shí)現(xiàn)1 使用while語(yǔ)句int count=1;int sum=0;while(count=100) sum+=count; count+;3 使用dowhile語(yǔ)句int count=1;int sum=0;do sum+=count; count+; whi
10、le(count=100);2 使用for語(yǔ)句int sum=0,count;for(int count=0;count=100;count+) sum+=count; 找出三種找出三種語(yǔ)句形式中的語(yǔ)句形式中的四個(gè)組成部分四個(gè)組成部分?比較三種循比較三種循環(huán)語(yǔ)句的差異環(huán)語(yǔ)句的差異上機(jī)驗(yàn)證上機(jī)驗(yàn)證三段代碼三段代碼比較三種循環(huán)語(yǔ)句比較三種循環(huán)語(yǔ)句nwhile語(yǔ)句、語(yǔ)句、for語(yǔ)句是當(dāng)型循環(huán)結(jié)構(gòu)。它們的語(yǔ)句是當(dāng)型循環(huán)結(jié)構(gòu)。它們的含義是當(dāng)循環(huán)條件滿足時(shí),執(zhí)行循環(huán)體。當(dāng)循含義是當(dāng)循環(huán)條件滿足時(shí),執(zhí)行循環(huán)體。當(dāng)循環(huán)條件不滿足時(shí)終止循環(huán)。環(huán)條件不滿足時(shí)終止循環(huán)。若循環(huán)初始條件不若循環(huán)初始條件不滿足,則循環(huán)體
11、一次都不被執(zhí)行。滿足,則循環(huán)體一次都不被執(zhí)行。ndowhile語(yǔ)句是直到型循環(huán)結(jié)構(gòu),它的含義語(yǔ)句是直到型循環(huán)結(jié)構(gòu),它的含義是執(zhí)行循環(huán)體,直到循環(huán)條件不滿足時(shí)結(jié)束循是執(zhí)行循環(huán)體,直到循環(huán)條件不滿足時(shí)結(jié)束循環(huán)。環(huán)。無(wú)論循環(huán)條件是否滿足,循環(huán)體都會(huì)被執(zhí)無(wú)論循環(huán)條件是否滿足,循環(huán)體都會(huì)被執(zhí)行一次行一次。編程實(shí)踐n編程求出1-100之間所有偶數(shù)的和。循環(huán)語(yǔ)句的嵌套使用 有時(shí)候,為了解決較有時(shí)候,為了解決較為復(fù)雜的問(wèn)題,循為復(fù)雜的問(wèn)題,循環(huán)語(yǔ)句的循環(huán)體也環(huán)語(yǔ)句的循環(huán)體也需要用循環(huán)語(yǔ)句,需要用循環(huán)語(yǔ)句,這種用法就是循環(huán)這種用法就是循環(huán)語(yǔ)句的嵌套使用。語(yǔ)句的嵌套使用。 問(wèn)題:求1!+2!+3!+10!int
12、i,j;long fact=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)作好準(zhǔn)備 內(nèi)層循環(huán)的作用是什內(nèi)層循環(huán)的作用是什么??jī)?nèi)層循環(huán)的循環(huán)么??jī)?nèi)層循環(huán)的循環(huán)條件和外層循環(huán)有何條件和外層循環(huán)有何關(guān)系?關(guān)系?請(qǐng)上機(jī)調(diào)試!請(qǐng)上機(jī)調(diào)試!編程實(shí)踐n編一程序打印九九乘法表。運(yùn)行結(jié)果如下:n標(biāo)號(hào)語(yǔ)句labelnbreak語(yǔ)句ncontinue語(yǔ)句nreturn語(yǔ)句C語(yǔ)言有那些跳轉(zhuǎn)語(yǔ)句?4.4 循環(huán)跳離語(yǔ)句循環(huán)跳離語(yǔ)句 標(biāo)號(hào)語(yǔ)句lable 在在Java中中,
13、標(biāo)號(hào)是一個(gè)標(biāo)識(shí)符,用于給某程序塊一標(biāo)號(hào)是一個(gè)標(biāo)識(shí)符,用于給某程序塊一個(gè)名字。格式如下:個(gè)名字。格式如下: label: 通常與通常與break、continue語(yǔ)句一起使用,實(shí)現(xiàn)程語(yǔ)句一起使用,實(shí)現(xiàn)程序的跳轉(zhuǎn)。序的跳轉(zhuǎn)。break語(yǔ)句break語(yǔ)句的作用是終止包含語(yǔ)句的作用是終止包含break語(yǔ)句的程序塊,其語(yǔ)法格語(yǔ)句的程序塊,其語(yǔ)法格式為:式為: break label; break語(yǔ)句有兩種用法:語(yǔ)句有兩種用法:(1)不帶標(biāo)號(hào)的)不帶標(biāo)號(hào)的break語(yǔ)句。語(yǔ)句??捎迷诳捎迷趕witch、while、for和和do-while循環(huán)語(yǔ)句中,用來(lái)終止開(kāi)關(guān)語(yǔ)句和循環(huán)語(yǔ)句。循環(huán)語(yǔ)句中,用來(lái)終止開(kāi)關(guān)語(yǔ)
14、句和循環(huán)語(yǔ)句。(2)帶標(biāo)號(hào)的)帶標(biāo)號(hào)的break語(yǔ)句。語(yǔ)句。用在多重循環(huán)語(yǔ)句中,用在多重循環(huán)語(yǔ)句中,跳出標(biāo)號(hào)跳出標(biāo)號(hào)所指定的塊,并從緊跟該塊后的第一條語(yǔ)句處執(zhí)行。所指定的塊,并從緊跟該塊后的第一條語(yǔ)句處執(zhí)行。 break BlockLabel;與C語(yǔ)言有何不同?a: /標(biāo)記代碼塊標(biāo)記代碼塊a b:/標(biāo)記代碼塊標(biāo)記代碼塊b c: /標(biāo)記代碼塊標(biāo)記代碼塊c break b; /這段語(yǔ)句將不執(zhí)行這段語(yǔ)句將不執(zhí)行 /代碼塊代碼塊c結(jié)束結(jié)束 /這段語(yǔ)句也不執(zhí)行這段語(yǔ)句也不執(zhí)行 /代碼塊代碼塊b結(jié)束結(jié)束 /從這段語(yǔ)句開(kāi)始執(zhí)行從這段語(yǔ)句開(kāi)始執(zhí)行 /代碼塊代碼塊a結(jié)束結(jié)束Java控制語(yǔ)句控制語(yǔ)句Continu
15、e語(yǔ)句: continue語(yǔ)句只能用在循環(huán)中,它的作用是終止本次語(yǔ)句只能用在循環(huán)中,它的作用是終止本次循環(huán),執(zhí)行下一次循環(huán)。語(yǔ)法格式如下:循環(huán),執(zhí)行下一次循環(huán)。語(yǔ)法格式如下: continue label; continue語(yǔ)句有帶標(biāo)號(hào)和不帶標(biāo)號(hào)兩種形式。語(yǔ)句有帶標(biāo)號(hào)和不帶標(biāo)號(hào)兩種形式。 (1)不帶標(biāo)號(hào)的不帶標(biāo)號(hào)的continue語(yǔ)句語(yǔ)句用來(lái)結(jié)束本次循環(huán),跳過(guò)用來(lái)結(jié)束本次循環(huán),跳過(guò)循環(huán)體中下面尚未執(zhí)行的語(yǔ)句,接著進(jìn)行終止條件的循環(huán)體中下面尚未執(zhí)行的語(yǔ)句,接著進(jìn)行終止條件的判斷,以決定是否繼續(xù)循環(huán)。判斷,以決定是否繼續(xù)循環(huán)。 (2)帶標(biāo)號(hào)的帶標(biāo)號(hào)的continue語(yǔ)句語(yǔ)句,可以用可以用conti
16、nue跳轉(zhuǎn)到標(biāo)跳轉(zhuǎn)到標(biāo)號(hào)指明的循環(huán)中,這時(shí)的格式為號(hào)指明的循環(huán)中,這時(shí)的格式為continue outerLable;與C語(yǔ)言有何不同?outer: for( int i=0; i10; i+ ) /外層循環(huán)外層循環(huán) inner: for( int j=0; j10; j+ ) /內(nèi)層循環(huán)內(nèi)層循環(huán) if( ij ) continue outer; /內(nèi)層循環(huán)結(jié)束內(nèi)層循環(huán)結(jié)束 /外層循環(huán)結(jié)束外層循環(huán)結(jié)束for( int i= 0; i 10; i+ ) if( i = 5 )continue; System.out.print(i);Java控制語(yǔ)句控制語(yǔ)句return語(yǔ)句 return語(yǔ)句的功
17、能是從當(dāng)前方法中退出,并返回語(yǔ)句的功能是從當(dāng)前方法中退出,并返回到調(diào)用該方法的語(yǔ)句處繼續(xù)執(zhí)行程序,同時(shí)將方到調(diào)用該方法的語(yǔ)句處繼續(xù)執(zhí)行程序,同時(shí)將方法中的運(yùn)行結(jié)果也帶回到調(diào)用方法中。它的語(yǔ)法法中的運(yùn)行結(jié)果也帶回到調(diào)用方法中。它的語(yǔ)法格式如下:格式如下: return expression; 或 return (expression); 其中其中expression為方法運(yùn)行的結(jié)果,要返回到調(diào)為方法運(yùn)行的結(jié)果,要返回到調(diào)用方法中的。注意,如果一個(gè)方法的返回值類(lèi)型用方法中的。注意,如果一個(gè)方法的返回值類(lèi)型定義為定義為void,則方法體中不一定要有,則方法體中不一定要有return語(yǔ)句,語(yǔ)句,方法執(zhí)
18、行完后,自動(dòng)返回到調(diào)用處。方法執(zhí)行完后,自動(dòng)返回到調(diào)用處。n單獨(dú)一條單獨(dú)一條return語(yǔ)句放在方法中間時(shí),會(huì)產(chǎn)生語(yǔ)句放在方法中間時(shí),會(huì)產(chǎn)生編譯錯(cuò)誤編譯錯(cuò)誤,因?yàn)槠浜蟮恼Z(yǔ)句將不會(huì)執(zhí)行到。因?yàn)槠浜蟮恼Z(yǔ)句將不會(huì)執(zhí)行到。n若真需要退出方法,可以將若真需要退出方法,可以將return語(yǔ)句嵌入轉(zhuǎn)語(yǔ)句嵌入轉(zhuǎn)移語(yǔ)句(如移語(yǔ)句(如if-else)中實(shí)現(xiàn)。)中實(shí)現(xiàn)。注意注意!Java跳轉(zhuǎn)語(yǔ)句與跳轉(zhuǎn)語(yǔ)句與C語(yǔ)言跳轉(zhuǎn)語(yǔ)句區(qū)別語(yǔ)言跳轉(zhuǎn)語(yǔ)句區(qū)別nJava有帶標(biāo)號(hào)的break和continue語(yǔ)句。C沒(méi)有。nJava沒(méi)有g(shù)oto語(yǔ)句,C有。nJava和C的return語(yǔ)句一樣。課堂練習(xí)課堂練習(xí)閱讀分析程序,寫(xiě)出其輸出結(jié)果int i,j; one: for(i=1;i=10;i+) System.o
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川省綿陽(yáng)市江油市2025-2026學(xué)年九年級(jí)上學(xué)期1月期末數(shù)學(xué)試題(含答案)
- 2025~2026學(xué)年濟(jì)南市槐蔭區(qū)九年級(jí)物理第一學(xué)期期末考試試題以及答案(含答案)
- 五年級(jí)下冊(cè)數(shù)學(xué)試卷題及答案
- 無(wú)領(lǐng)導(dǎo)面試真題及答案
- 文學(xué)常識(shí)試題及答案
- 22春“電氣工程及其自動(dòng)化”專(zhuān)業(yè)《控制系統(tǒng)數(shù)字仿真》在線作業(yè)一答案參考6
- 2021年二年級(jí)語(yǔ)文上冊(cè)期中考試卷(參考答案)
- 22春福建師范大學(xué)《學(xué)前兒童數(shù)學(xué)教育》在線作業(yè)二答案參考3
- 22春“金融學(xué)”專(zhuān)業(yè)《個(gè)人理財(cái)》在線作業(yè)一答案參考7
- 生物招生考試題及答案
- 養(yǎng)老院老人生活設(shè)施管理制度
- 2026年稅務(wù)稽查崗位考試試題及稽查實(shí)操指引含答案
- (2025年)林業(yè)系統(tǒng)事業(yè)單位招聘考試《林業(yè)知識(shí)》真題庫(kù)與答案
- 2026年七臺(tái)河職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性考試備考題庫(kù)有答案解析
- 2020海灣消防GST-DJ-N500-GST-DJ-N900 消防設(shè)備電源狀態(tài)監(jiān)控器安裝使用說(shuō)明書(shū)
- 河北省滄州市青縣2024-2025學(xué)年七年級(jí)上學(xué)期期末生物試卷
- 淮安市2022-2023學(xué)年七年級(jí)上學(xué)期期末地理試題
- 2024屆高考語(yǔ)文二輪復(fù)習(xí)專(zhuān)題-文言文閱讀(上海專(zhuān)用)(解析版)
- 2024可打印的離婚協(xié)議書(shū)模板
- EPC項(xiàng)目組織架構(gòu)圖
- 《房顫的藥物治療》課件
評(píng)論
0/150
提交評(píng)論