第3章 Java流程控制語(yǔ)句_第1頁(yè)
第3章 Java流程控制語(yǔ)句_第2頁(yè)
第3章 Java流程控制語(yǔ)句_第3頁(yè)
第3章 Java流程控制語(yǔ)句_第4頁(yè)
第3章 Java流程控制語(yǔ)句_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

3.1分支語(yǔ)句

3.2循環(huán)語(yǔ)句

3.3跳轉(zhuǎn)語(yǔ)句3.1分支語(yǔ)句3.1.1if語(yǔ)句if語(yǔ)句是選擇結(jié)構(gòu)中最基本的語(yǔ)句。if語(yǔ)句有兩種形式:if和if-else。if語(yǔ)句有選擇地執(zhí)行語(yǔ)句,只有當(dāng)表達(dá)式條件為真(true)時(shí)執(zhí)行程序。if-else在表達(dá)式條件為真(true)與假(false)時(shí)各執(zhí)行不同的程序序列。1.if-else語(yǔ)句if-else語(yǔ)句的基本形式如下:if(布爾表達(dá)式){//根據(jù)布爾表達(dá)式的真假?zèng)Q定執(zhí)行不同的語(yǔ)句語(yǔ)句序列1//條件為真}[else{語(yǔ)句序列2//條件為假}]其中,布爾表達(dá)式一般為條件表達(dá)式或邏輯表達(dá)式。當(dāng)布爾表達(dá)式的值為true時(shí),執(zhí)行語(yǔ)句序列1;當(dāng)布爾表達(dá)式的值為false時(shí),執(zhí)行語(yǔ)句序列2。復(fù)雜條件下的if選擇結(jié)構(gòu)如表3.1所示。2.嵌套if語(yǔ)句在實(shí)際處理中,常會(huì)有許多條件需要判斷,因此要用到多個(gè)if,甚至在一個(gè)if中還有多個(gè)if,故稱(chēng)做嵌套if。嵌套if語(yǔ)句的語(yǔ)法格式如下:if(布爾表達(dá)式A){語(yǔ)句序列Aif(布爾表達(dá)式B){語(yǔ)句序列B1}else{語(yǔ)句序列B2}…}else{if(布爾表達(dá)式C){語(yǔ)句序列C1}else{語(yǔ)句序列C2}}else子句不能單獨(dú)作為語(yǔ)句來(lái)使用,它必須和if配對(duì)使用。else總是與離它最近的if配對(duì)??梢允褂么罄ㄌ?hào)來(lái)改變if-else的配對(duì)關(guān)系。3.if-elseif-else語(yǔ)句若出現(xiàn)的情況有兩種以上,則可用if-elseif-else語(yǔ)句。if-elseif-else語(yǔ)句的語(yǔ)法格式如下:if(布爾表達(dá)式1){語(yǔ)句序列1}elseif(布爾表達(dá)式2){語(yǔ)句序列2}elseif(布爾表達(dá)式N){語(yǔ)句序列N}else{語(yǔ)句序列M}程序執(zhí)行時(shí),首先判斷布爾表達(dá)式1的值,若為真,則順序執(zhí)行語(yǔ)句序列1,if語(yǔ)句結(jié)束;若為假,則判斷布爾表達(dá)式2的值,布爾表達(dá)式2的值若為真,則順序執(zhí)行語(yǔ)句序列2,if語(yǔ)句結(jié)束;布爾表達(dá)式2的值若為假,則判斷布爾表達(dá)式3的值……若所有的布爾表達(dá)式的值都為假,則執(zhí)行語(yǔ)句序列M,if語(yǔ)句結(jié)束。嵌套if選擇結(jié)構(gòu)如下:if(條件1){if(條件2){代碼塊1}else{代碼塊2}}else{代碼塊3}3.1.2switch語(yǔ)句在if語(yǔ)句中,布爾表達(dá)式的值只有兩種:true和false。若情況更多時(shí),就需要另外一種可提供更多選擇的語(yǔ)句:switch語(yǔ)句。根據(jù)一個(gè)整數(shù)表達(dá)式的值,switch語(yǔ)句可從一系列代碼中選出一段執(zhí)行。它的格式如下:switch(表達(dá)式){case常量1:語(yǔ)句序列1;break;case常量2:語(yǔ)句序列2;break;case常量N:語(yǔ)句序列N;break;[default:語(yǔ)句序列M;break;]}說(shuō)明:(1)表達(dá)式的類(lèi)型可以為byte、short、int、char。多分支語(yǔ)句把表達(dá)式的值與每個(gè)case子句中的常量進(jìn)行對(duì)比,如果匹配成功,則執(zhí)行該case子句后面的語(yǔ)句序列。(2)?case子句中的“常量N”必須是常量,而且所有case子句中的常量應(yīng)是不同的。(3)?default子句是可選的。(4)?break語(yǔ)句執(zhí)行完一個(gè)case分支后,使程序跳出switch語(yǔ)句,即終止switch語(yǔ)句的執(zhí)行。在一些特殊情況下,多個(gè)不同的case值要執(zhí)行一組相同的操作,這時(shí)可以不用break。使用switch語(yǔ)句時(shí),常見(jiàn)的一些錯(cuò)誤如下:(1)?case分支后忘記寫(xiě)break,如圖3.7所示的運(yùn)行代碼及輸出結(jié)果。(2)?case子句的常量相同,如圖3.8所示的運(yùn)行代碼。(3)?default沒(méi)有放在末尾,如圖3.9所示的運(yùn)行代碼及輸出結(jié)果。(4)?switch表達(dá)式的值不是整型或字符型,如圖3.10所示的運(yùn)行代碼。3.2循環(huán)語(yǔ)句循環(huán)語(yǔ)句的作用是反復(fù)執(zhí)行一段語(yǔ)句序列,直到滿足終止循環(huán)的條件為止。一個(gè)循環(huán)一般包含以下四部分:(1)初始化部分:用來(lái)設(shè)置循環(huán)的一些初始條件,一般只執(zhí)行一次。(2)終止部分:通常是一個(gè)布爾表達(dá)式,每一次循環(huán)都要對(duì)該表達(dá)式求值,以驗(yàn)證是否滿足終止條件。(3)循環(huán)體部分:被反復(fù)執(zhí)行的一段語(yǔ)句序列,可以是一個(gè)單一語(yǔ)句,也可以是一個(gè)復(fù)合語(yǔ)句。(4)迭代部分:在當(dāng)前循環(huán)結(jié)束,下一次循環(huán)開(kāi)始執(zhí)行之前執(zhí)行的語(yǔ)句,常常用來(lái)更新影響終止條件的變量,使循環(huán)最終結(jié)束。3.2.1while語(yǔ)句while語(yǔ)句的語(yǔ)法格式如下:[初始化部分]while(布爾表達(dá)式){//終止部分循環(huán)體部分[迭代部分]}在循環(huán)剛開(kāi)始時(shí),會(huì)計(jì)算一次布爾表達(dá)式的值。而對(duì)于后來(lái)每一次額外的循環(huán),都會(huì)在開(kāi)始前重新計(jì)算一次。當(dāng)布爾表達(dá)式的值為true時(shí),執(zhí)行循環(huán)體部分和迭代部分,然后再判斷布爾表達(dá)式的值。如果布爾表達(dá)式的值為false,則退出循環(huán);否則,重復(fù)上面的過(guò)程。3.2.2do-while語(yǔ)句do-while語(yǔ)句的語(yǔ)法格式如下:[初始化部分]do{循環(huán)體部分[迭代部分]}while(布爾表達(dá)式);//終止部分while和do-while唯一的區(qū)別就是do-while肯定會(huì)執(zhí)行一次。也就是說(shuō),至少會(huì)將其中的語(yǔ)句“過(guò)一遍”—即便表達(dá)式第一次計(jì)算為false。而在while循環(huán)語(yǔ)句中,若條件第一次就為false,那么不會(huì)執(zhí)行其中的語(yǔ)句。在實(shí)際應(yīng)用中,while比do-while更常用一些。3.2.3for語(yǔ)句for語(yǔ)句是循環(huán)語(yǔ)句中使用最為靈活、最為廣泛的一個(gè)。for語(yǔ)句在第一次反復(fù)之前要進(jìn)行初始化。隨后,它會(huì)進(jìn)行條件測(cè)試,而且在每一次反復(fù)的時(shí)候,進(jìn)行某種形式的“步進(jìn)”(Stepping)。for語(yǔ)句的語(yǔ)法格式如下:for([初始表達(dá)式];[布爾表達(dá)式];[步進(jìn)]){循環(huán)體部分}無(wú)論初始表達(dá)式、布爾表達(dá)式,還是步進(jìn),都可以置空。每次反復(fù)前,都要測(cè)試布爾表達(dá)式。若獲得的結(jié)果是false,就會(huì)繼續(xù)執(zhí)行緊跟在for后面的那行代碼。在每次循環(huán)的末尾,會(huì)計(jì)算一次步進(jìn)。說(shuō)明:(1)?for語(yǔ)句執(zhí)行時(shí),首先執(zhí)行初始化操作,然后判斷終止條件是否滿足,如果滿足,則執(zhí)行循環(huán)體中的語(yǔ)句,最后執(zhí)行迭代部分。完成一次循環(huán)后,重新判斷終止條件。(2)初始化、終止以及迭代部分都可以為空語(yǔ)句(但分號(hào)不能省),三者均為空的時(shí)候,相當(dāng)于一個(gè)無(wú)限循環(huán)。(3)在初始化部分和迭代部分可以使用逗號(hào)語(yǔ)句來(lái)進(jìn)行多個(gè)操作。逗號(hào)語(yǔ)句是用逗號(hào)分隔的語(yǔ)句序列。使用for語(yǔ)句時(shí),常見(jiàn)的一些錯(cuò)誤如下:(1)變量未賦初值,如圖3.14所示的運(yùn)行代碼。(2)缺少循環(huán)條件,造成死循環(huán),如圖3.15所示的運(yùn)行代碼。(3)循環(huán)變量的值無(wú)變化,造成死循環(huán),如圖3.16所示的運(yùn)行代碼。(4)表達(dá)式全省略,造成死循環(huán),如圖3.17所示的運(yùn)行代碼及結(jié)果。3.2.4循環(huán)語(yǔ)句對(duì)比綜上所述的循環(huán)語(yǔ)句有while、do-while、for。當(dāng)需要多次重復(fù)執(zhí)行一個(gè)或多個(gè)任務(wù)的問(wèn)題時(shí)可考慮使用循環(huán)語(yǔ)句來(lái)解決。上述三種循環(huán)語(yǔ)句都有四個(gè)必不可少的部分:初始化部分、布爾表達(dá)式、循環(huán)體部分、迭代部分,具體區(qū)別如下:(1)語(yǔ)法格式不同,如圖3.18所示。(2)執(zhí)行順序不同。while語(yǔ)句:先判斷,再執(zhí)行。do-while語(yǔ)句:先執(zhí)行,再判斷。for語(yǔ)句:先判斷,再執(zhí)行。(3)適用情況不同。循環(huán)次數(shù)確定的情況,通常選用for語(yǔ)句;循環(huán)次數(shù)不確定的情況,通常選用while和do-while語(yǔ)句。3.3跳轉(zhuǎn)語(yǔ)句3.3.1break語(yǔ)句在switch語(yǔ)句中,break語(yǔ)句用來(lái)終止switch語(yǔ)句的執(zhí)行,使程序從switch語(yǔ)句后的第一條語(yǔ)句開(kāi)始執(zhí)行。break語(yǔ)句的第二種使用情況就是跳出它所指定的塊,并從緊跟該塊的第一條語(yǔ)句處執(zhí)行。break語(yǔ)句的語(yǔ)法格式如下:break[標(biāo)號(hào)];break有兩種形式:不帶標(biāo)號(hào)和帶標(biāo)號(hào)。標(biāo)號(hào)必須位于break語(yǔ)句所在的封閉語(yǔ)句塊的開(kāi)始處。3.3.2continue語(yǔ)句continue語(yǔ)句只用于循環(huán)結(jié)構(gòu)中。它的語(yǔ)法格式如下:continue[標(biāo)號(hào)];不帶標(biāo)號(hào)的c

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論