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

下載本文檔

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

文檔簡介

3.1分支語句

3.2循環(huán)語句

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

溫馨提示

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

最新文檔

評論

0/150

提交評論