3控制語句掌握流程的使用方法_第1頁
3控制語句掌握流程的使用方法_第2頁
3控制語句掌握流程的使用方法_第3頁
3控制語句掌握流程的使用方法_第4頁
3控制語句掌握流程的使用方法_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、本講要點學(xué)習(xí)目標掌握:流程控制語句的使用方法。重點掌握:能熟練使用三種常用的控制語句。理解:各知識點的概念,并熟記Java 的語法規(guī)范。難點理解:循環(huán)語句的執(zhí)行過程。授課課時: Java程序的選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu) 2課時 Java程序的跳轉(zhuǎn)結(jié)構(gòu) 2課時上機課時:控制結(jié)構(gòu)綜合實現(xiàn) 2課時引入問題編一程序求1-100的和并輸出。1 如何實現(xiàn)?2 用循環(huán)語句實現(xiàn)3 寫出C語言的實現(xiàn)代碼4 C 循環(huán)語句由哪幾個部分組成?Java語法基礎(chǔ)與流程控制3.1 選擇語句流程控制語句用于控制程序中各語句的執(zhí)行順序。Java提供的流程控制語句有選擇語句、循環(huán)語句、跳移語句等。 3.1.1 簡單if條件語句簡單if條

2、件語句只在條件為真時執(zhí)行,如圖3-2 if 語句流程圖所示其語法如下: if(條件) 語句(塊); 圖3-2 if語句流程圖條件語句(塊)TrueFalse3.1 選擇語句若布爾表達式的值為真,則執(zhí)行塊內(nèi)語句。if (score=60) system.out.println(“恭喜你,及格了!”);if (score=60) System.out.println(“你及格了”);else System.out.println(“你沒有及格”);3.1 選擇語句3.1.3 if語句的嵌套if或ifelse語句中的語句可以是任意合法的Java語句包括其他if或if-else語句。內(nèi)層的if語句稱為

3、嵌套在外層if語句中。內(nèi)層if語句又可以包含另一個if語句,事實上,嵌套的深度沒有限制。 if(Score60) System.out.println(不及格);else if(Score80) System.out.println(及格); else if(Score90) System.out.println(良好); else System.out.println(優(yōu)秀:);3.1 選擇語句前面的if語句與下述語句等價:if(score60) System.out.println(不及格);else if (score80) System.out.println(及格);else if

4、(score90) System.out.println(良好);else System.out.println(優(yōu)秀);多重選擇if語句可以避免深層縮進,并使程序容易閱讀。注意:else子句與同一塊中離得最近的if子句相匹配。3.1 選擇語句3.1.4 switch語句switch語句根據(jù)表達式的結(jié)果來執(zhí)行多個可能操作中的一個,它的語法形式如下: switch (表達式) case 常量1: 語句1; break; case 常量2: 語句2 ;break; case 常量n: 語句n ;break; default: 缺省處理語句;break; switch語句中的每個“case 常量:”

5、稱為一個case子句,代表一個case分支的入口。 圖2-4 switch語句流程圖3.1 選擇語句在Java中,可以用switch語句對操作進行分組,例如: switch(Score) case 1:System.out.println (優(yōu)秀);break; case 2:System.out.println (優(yōu)良);break; case 3:System.out.println (良好);break; case 4:System.out.println (及格);break; case 5:System.out.println (不及格);break; default: break;

6、switch要檢查變量Score的值,它的每個值是特定值用“case value:”來表示,或者是使用缺省從句用“default:”來表示。注意:程序中使用了關(guān)鍵字break,它的作用就是在得到與某個特定值相匹配之后執(zhí)行代碼完成的時候跳出switch條件。 3.2 循環(huán)語句Java的3種循環(huán)語句有while、do-while和for循環(huán)語句。1. while循環(huán)它的執(zhí)行過程如圖3-5所示,其的語法如下:while (條件) 循環(huán)體說明:循環(huán)條件是一個布爾表達式,它必須放在括號中。在循環(huán)體執(zhí)行前一定先計算循環(huán)條件,若條件為真,執(zhí)行循環(huán)體,若條件為假,整個循環(huán)中斷并且程序控制轉(zhuǎn)移到while循環(huán)后

7、的語句。 圖3-5 while語句流程圖條件循環(huán)體falsetrue3.2 循環(huán)語句例如用while循環(huán)打印“ e !”一百次。int i=0;while (i100) System.out.println(“ e!”); i+;i的初值為0。循環(huán)檢查(i100)是否為真, 若真,則執(zhí)行循環(huán)體,打印消息“ e!”并使i加1?!纠?-5】源程序TestWhile.java,讀入一系列整數(shù)并計算其和,輸入0則表示輸入結(jié)束。3.2 循環(huán)語句【運行結(jié)果】 【程序分析】第6句:執(zhí)行readInt時,計算機開始等待鍵盤輸入,直到按下回車鍵為止。第914句:是while語句的應(yīng)用。其中第1113句是循環(huán)體語

8、句。第12句:while循環(huán)中,若data非0,則將它加到總和上并讀取下一個輸入數(shù)據(jù)。若data為0,不執(zhí)行循環(huán)體并且while循環(huán)終止。特別地,若第一個輸入值為0,則不執(zhí)行循環(huán)體,結(jié)果sum為0。圖2-6 do語句流程圖條件循環(huán)體falsetrue注意:要保證循環(huán)條件最終可以變?yōu)榧?,以便程序能夠結(jié)束。3.2 循環(huán)語句2. do循環(huán)語句do循環(huán)其實就是while循環(huán)的變體。它的執(zhí)行過程如圖3-6所示,其的語法如下:do /循環(huán)體;while(條件);注意:在do循環(huán)中while條件判斷之后需要添加一個分號。圖3-6 do語句流程圖條件循環(huán)體falsetrue3.2 循環(huán)語句do-while的循

9、環(huán)流程是和while循環(huán)不一樣的,二者的主要差別在于循環(huán)條件和循環(huán)體的計算順序不同。 例如,可將例3-2改寫如下:public class TestDo public static void main(String args) int data; int sum=0; do data=Myinput.readInt(); sum+=data; while (data!=0); System.out.println(“The sum is”+sum); 3.2 循環(huán)語句3. for循環(huán)語句for循環(huán)的執(zhí)行過程如圖3-7所示.for(循環(huán)變量初始化;循環(huán)條件;調(diào)整語句) 循環(huán)體;for循環(huán)語句以關(guān)

10、鍵字for開始,然后是由括號括住的三個控制元素,循環(huán)體括在大括號內(nèi)。控制元素由分號分開,控制循環(huán)體的執(zhí)行次數(shù)和終止條件。 圖3-7 for語句流程圖循環(huán)體語句調(diào)整語句循環(huán)變量初始化條件truefalse3.2 循環(huán)語句下面的for循環(huán)可以打印 e!100次。int i;for (i=0;i100;i+)System.out.println( e!);第一個元素為i=0,初始化循環(huán)變量。循環(huán)變量跟蹤循環(huán)體的執(zhí)行次數(shù),調(diào)整語句修改它的值。第二個元素為i100,是布爾表達式,用作循環(huán)條件。第三個元素是調(diào)整控制變量的語句,循環(huán)變量的值最終必須使循環(huán)條件變?yōu)榧?。另外,循環(huán)變量也可以在for循環(huán)中進行說明

11、和初始化。上例還可寫成下列語句:for (int i=0; i100; i+) System.out.println( e!);3.2 循環(huán)語句【例3-6】源程序TestSum.java,使用for循環(huán)計算從1到100的數(shù)列的和。1 /本程序利用for循環(huán)計算1到100的和2 public class TestSum3 4 public static void main(String args)5 6 int sum=0;7 for (int i=1;i=100;i+)8 9 sum+=i;10 11 System.out.println(The sum is +sum);12 13 3.2

12、循環(huán)語句【運行結(jié)果】【程序分析】第710句組成的for循環(huán),變量i從1開始,每次增加1,當i大于100時循環(huán)終止。3.2 循環(huán)語句【例3-7】源程序TestMulTable.java,使用嵌套的for循環(huán)打印九九乘法表。 1 /本程序打印九九乘法表2 public class TestMulTable3 4 public static void main(String args)5 6 System.out.print( ); 7 for (int j=1;j=9;j+)8 System.out.print( +j);9 System.out.println( );10 for (int i=

13、1;i=9;i+)11 12 System.out.print(i+ );13 for (int j=1;j=i;j+)14 15 if (i*j10)16 System.out.print( +i*j);17 else18 System.out.print( +i*j);19 20 System.out.println();21 22 23 3.2 循環(huán)語句【運行結(jié)果】【程序分析】第79句組成的第一個循環(huán)顯示數(shù)1到9;第10句21句是一個嵌套的for循環(huán),對每個外循環(huán)的循環(huán)變量i,內(nèi)循環(huán)的循環(huán)變量j都要逐個取1,2,.,9,并顯示出i*j的值;第1518句的if語句使結(jié)果右對齊。1-100求

14、和的Java實現(xiàn)1 使用while語句int count=1;int sum=0;while(count=100) sum+=count; count+;3 使用dowhile語句int count=1;int sum=0;do sum+=count; count+; while(count=100);2 使用for語句int sum=0,count;for(int count=0;count=100;count+) sum+=count; 找出三種語句形式中的四個組成部分?比較三種循環(huán)語句的差異。將循環(huán)初始值count設(shè)為101,觀察其sum的值。上機驗證三段代碼比較三種循環(huán)語句while語

15、句、for語句是當型循環(huán)結(jié)構(gòu)。它們的含義是當循環(huán)條件滿足時,執(zhí)行循環(huán)體。當循環(huán)條件不滿足時終止循環(huán)。若循環(huán)初始條件不滿足,則循環(huán)體一次都不被執(zhí)行。dowhile語句是直到型循環(huán)結(jié)構(gòu),它的含義是執(zhí)行循環(huán)體,直到循環(huán)條件不滿足時結(jié)束循環(huán)。無論循環(huán)條件是否滿足,循環(huán)體都會被執(zhí)行一次。break語句break語句的作用是終止包含break語句的程序塊,其語法格式為: break label; break語句有兩種用法:(1)不帶標號的break語句??捎迷趕witch、while、for和do-while循環(huán)語句中,用來終止開關(guān)語句和循環(huán)語句。(2)帶標號的break語句。用在多重循環(huán)語句中,可從內(nèi)層

16、循環(huán)中終止外層循環(huán),將要終止的外層循環(huán)語句需用標號標識。注意與C語言有何不同?3.3 跳轉(zhuǎn)語句3.3 跳轉(zhuǎn)語句例如:下面break語句中斷內(nèi)層循環(huán)并把控制立即轉(zhuǎn)移到外層循環(huán)后的語句。outer:for(int i=1; i10; i+) inner: for(int j=1; j50) break outer; System.out.println(i*j); 如果把上述語句中的break outer換成break,則break語句終止內(nèi)層循環(huán),仍然留在外層循環(huán)中。如果想退出外循環(huán),就要使用帶標號的。 3.3 跳轉(zhuǎn)語句【例3-8】源程序TestBreak.java,測試break語句對程序結(jié)果

17、的影響。1 /本程序測試break語句2 public class TestBreak3 4 public static void main(String args)5 6 int sum=0;7 int item=0;8 while(item=6) break;13 14 System.out.println(The sum is +sum);15 16 3.3 跳轉(zhuǎn)語句【運行結(jié)果】【程序分析】第813句的while循環(huán)中,如果不用12行的if語句,本程序計算從1到5的和。如果有了if語句,總和大于等于6時循環(huán)終止。 continue語句只能用在循環(huán)中,它的作用是終止本次循環(huán),執(zhí)行下一次循環(huán)

18、。語法格式如下: continue label; continue語句有帶標號和不帶標號兩種形式。 (1)不帶標號的continue語句在while或do while語句中使程序流程直接跳轉(zhuǎn)到循環(huán)條件的判斷處,在for 語句中則直接計算迭代部分(iteration)的值,然后再根據(jù)循環(huán)條件決定是否繼續(xù)循環(huán)。 (2)帶標號的continue語句,可以終止內(nèi)循環(huán),直接跳到外層循環(huán)處執(zhí)行其下一輪循環(huán),這里外層循環(huán)處要用標號標識。 與C語言有何不同?3.3 跳轉(zhuǎn)語句3.3 跳轉(zhuǎn)語句2. continue語句continue語句用來結(jié)束本次循環(huán),跳過循環(huán)體中下面尚未執(zhí)行的語句,接著進行終止條件的判斷,以

19、決定是否繼續(xù)循環(huán)。【例3-9】源程序“TestContinue.java”,測試continue語句。1 /本程序測試continue語句3.3 跳轉(zhuǎn)語句2 public class TestContinue3 4 public static void main(String args)5 6 int sum=0;7 int i=0;8 while (i5)9 10 i+;11 if(i= =2) continue;12 sum+=i;13 14 System.out.println(The sum is +sum);15 16 3.3 跳轉(zhuǎn)語句【運行結(jié)果】【程序分析】第813句的while循環(huán)中,con

溫馨提示

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

評論

0/150

提交評論