第3章 程序控制結構-new_第1頁
第3章 程序控制結構-new_第2頁
第3章 程序控制結構-new_第3頁
第3章 程序控制結構-new_第4頁
第3章 程序控制結構-new_第5頁
已閱讀5頁,還剩36頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1教學目錄決策3.1邏輯運算符3.2條件運算符3.3

Switch語句3.4變量作用域3.5

循環3.6斷言3.72教學內容熟練掌握Java語言中的流程控制結構。掌握Java中選擇結構的基本原理及使用方法。掌握Java中循環結構的基本原理及使用方法。3教學重點掌握順序流程、分支流程語句,并要求學生能靈活應用。了解和掌握變量作用域,循環流程、與程序轉移有關的其它語句。4例1:打印一個3x4的矩陣classDrawRect{ publicstaticvoidmain(String[]args) { System.out.println(“****"); System.out.println(“****"); System.out.println(“****"); }}3.1決策5例2:上一個例子的變形classDrawRect

{ publicstaticvoidmain(String[]args) {

System.out.println(“*");

System.out.println(“*");

System.out.println(“*");

System.out.println(“*\n");

System.out.println(“*");

System.out.println(“*");

System.out.println(“*");System.out.println(“*\n");System.out.println(“*");System.out.println(“*");System.out.println(“*");System.out.println(“*"); }}問題:如何作出決策,提高程序的執行效率?6分析問題找出最佳解決方案以上兩種方法是初學者最容易想到的,但做了很多重復的工作,會使程序變得很繁瑣,結構也不夠清晰。在工作量少的時候似乎沒那么明顯,但當需要打印的矩陣比較大的時候就會顯現出來(如:打印一個100x60的矩陣)。想解決這個問題我們可以通過循環來解決,講到循環就要先介紹一下程序的結構化設計。7程序設計的三種結構順序結構循環結構選擇結構

循環結構與選擇結構所使用的語句又叫作流程控制語句,作用是改變程序的執行順序。83.1決策比較Java提供6種關系運算符:<,<=,>,>=,==,!=注意:“等于”關系運算符是兩個等號“==”,而不是一個等號“=”(賦值運算符)。例:intx=3,y=4;inta=1,b=5;booleanstate=x-y<a+b;93.1決策if語句expression==true語句2語句1if(expression)語句1;語句2;103.1決策if語句expression==true語句2語句塊語句塊:用花括號括起來的語句。if(expression){statment1;statment2;……}語句2;左側的語句也以下語句有什么不同?if(expression)statment1;statment2;……語句2;11提示:合理采用縮進格式書寫代碼堅持用左右大括號將if條件括起來的習慣,即使一條語句也括。else子句if(expression){statement1;}else{statement2;}next_statement;練習:Lt_1.java3.1決策123.1決策if語句的嵌套形式if(<條件1>)

if(<條件2>)<語句1>; else<語句2>;else

if(<條件3>)<語句3>; else<語句4>;若條件1成立,則執行哪一組IF語句?若條件1不成立,則執行哪一組IF語句?133.1決策if語句的嵌套形式if(<條件1>)<語句1>;elseif(<條件2>)<語句2>;elseif(<條件3>)………..else<語句n>;什么情況下會執行到語句2,什么情況下會執行到語句n?語句1與語句2等是否可以都執行?else總是和距它最近的if配對143.2邏輯運算符符號全名&邏輯與(logicalAND)&&條件與(conditionalAND)|邏輯或(logicalOR)||條件或(conditional)OR!邏輯非(logicalNOT)實例:letterCheck.java、letterCheck2.java15Character類常用的方法1、isDigit():如果實參為數字0~9,則返回true,否則返回false。2、isLetter():如果實參為字母則返回true,否則返回false。3、isLetterOrDigit():如果實參為字母或數字則返回true,否則返回false。4、isWhitespace():如果實參是空白符,則返回true,否則返回false。空白符包括制表符、換行符、回車符、換頁符。實例:letterCheck3.java16格式:<條件>?<取值1>:<取值2>如:older=yourAge>myAge?yourAge:myage;相當于如下的if語句:If(yourAge>myAge)

older=yourAge;else

older=myAge;例如:用條件語句判斷單復數ConditionalOp.java3.3條件運算符(三目運算符)17switch語句又稱多分支選擇語句與if-else一樣,是Java語言的條件選擇語句,if語句是判斷條件的值,再從兩個程序塊中選擇其中一塊執行,只能出現兩個分支,而switch語句可存在多個分支。處理多種分支情況時,用switch語句代替if語句可以簡化程序,使程序結構清晰明了,可讀性增強。3.4switch語句18switch語句的一般形式為:switch(<條件>){case<常量值1>:<語句1>;break; case<常量值2>:<語句2>;break; ……….. case<常量值n>:<語句n>;break; [default:<缺省語句>;]}3.4switch語句產生的結果值可以是char型,byte型,short型,int型或枚舉型。不加break語句,執行流程如何?若條件值與case值均不匹配,而又沒有此句,執行流程如何?19switch(<條件>){ case<值1>: case<值2>: case<值3>:<語句3>;break; ……….. case<值n>:<語句n>;break; [default:<缺省語句>;]}執行流程如何?實例:TrySwitch.java3.4switch語句20變量作用域(scope):指該變量名可以被引用在程序的那一部分上。在方法內聲明的變量稱為局部變量(localvariable),對這些變量的訪問僅限定在聲明他們的方法中。局部變量從他們被聲明的地方開始,一直到包含這個聲明的語句塊結尾均可被訪問。

實例:Scope.java3.5變量的作用域21for語句的一般形式為:for(<初始化>;<條件>;<迭代因子>){ <循環體語句>}其中:初始化部分設置控制循環的變量的初值。條件判斷部分可以是任何布爾表達式。迭代因子控制循環變量遞增或遞減。3.6循環---for22for語句的執行過程為:執行初始化。判斷條件的返回值。如果為真執行循環體語句;如果為假就跳出for語句循環。執行迭代因子,為下次循環做準備。返回②。for語句是先執行②,即先判斷后執行,如果不滿足判斷條件,循環體可能一次都不能執行。3.6循環---for23for循環流程圖實例:ForLoop.javadoubleFor.java前續代碼及循環控制變量的定義循環體中的程序循環控制條件TrueFalse后續代碼步長變量的改變24流程圖進程判斷輸入輸出起始符NYYN開始結束inti=0i<3?i++i<4?j++intj=0打印*號打印換行符號25collection-basedfor循環采用for語句的基本格式在for循環語句的圓括號之間的第一個控制表達式中是循環變量,然后以冒號分隔,第二個控制表達式,確定了第一個控制表達式中聲明的變量的取值來源的集合。

程序:CollectionBasedForLoop.java3.6循環---for26while語句的一般形式為:[<初始化部分>]while(<條件表達式>){ <循環體語句>; [<迭代部分>;]}實例:whileLoop.java3.6循環---while27while語句的執行過程為:初始化,為循環設置初始值。判斷條件表達式的值,如果為真,就執行循環體語句;如果條件表達式的值為假,就跳出while語句。執行迭代部分,為下次循環做準備。返回②。while語句是先執行②,即先判斷后執行,如果不滿足判斷條件,循環體可能一次都不能執行。注意,在循環體中應該有使循環趨于結束的語句,否則循環將永遠進行下去,形成死循環。

3.6循環---while28while循環的流程圖前續代碼及循環控制變量的定義循環體中的程序循環控制條件TrueFalse后續代碼29for循環與while循環的比較for循環比while循環結構清晰。for循環的循環控制變量的定義、初始化,選換結束的條件,步長變量的控制都在一條語句中實現。while循環的循環控制變量是在循環之前定義的,循環控制條件與for相同,而步長變量是在循環體內部修改的。有時候用while實現會方便很多。例如在程序中將在1~10之間產生一個隨機數,當產生的數字為7的時候打印一個提示語句并結束程序,否則繼續執行直到產生的數字為7。30while語句先判斷后執行,while語句為“當型“循環do-while語句先執行后判斷,循環體至少被執行一次,稱do-while語句為”直到型“循環。3.6循環---do-while31do-while語句的一般形式為:[<初始化部分>]do{<循環體語句>;[<迭代部分>;]}while(<條件表達式>);注意:這里while()后面有一個“;”3.6循環---do-while32do-while語句的執行過程為:初始化,為循環設置初始值。執行循環體語句。執行跌代部分,為下次循環做準備。判斷條件表達式的值,如果為真,就返回②;如果條件表達式的值為假,就跳出do-while語句。do-while語句是先執行循環體,再判斷,循環體至少被執行一次。同樣,在循環體中應該有使循環趨于結束的語句。3.6循環---do-while33dowhile循環流程圖程序見:DoWhileLoop.java前續代碼及循環控制變量的定義循環體中的程序循環控制條件TrueFalse34嵌套循環:

用戶可以將任何一種循環嵌入到另一種循環中,并且可以進行任意多重的嵌套。例題:計算從1開始到給定數值之間所有整數的乘積。程序見:Factorial.java3.6循環35功能:結束本次循環,進入下一次循環,例如:for(inti=1;i<=limit;i++){if(i%3==0){continue;}sum+=i;}3.6循環---continue36功能:可以停止執行內循環,并且可以直接跳轉至包含本循環的外循環的下一輪迭代的起始處繼續執行。程序見

溫馨提示

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

評論

0/150

提交評論