




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1教學(xué)目錄決策3.1邏輯運(yùn)算符3.2條件運(yùn)算符3.3
Switch語(yǔ)句3.4變量作用域3.5
循環(huán)3.6斷言3.72教學(xué)內(nèi)容熟練掌握J(rèn)ava語(yǔ)言中的流程控制結(jié)構(gòu)。掌握J(rèn)ava中選擇結(jié)構(gòu)的基本原理及使用方法。掌握J(rèn)ava中循環(huán)結(jié)構(gòu)的基本原理及使用方法。3教學(xué)重點(diǎn)掌握順序流程、分支流程語(yǔ)句,并要求學(xué)生能靈活應(yīng)用。了解和掌握變量作用域,循環(huán)流程、與程序轉(zhuǎn)移有關(guān)的其它語(yǔ)句。4例1:打印一個(gè)3x4的矩陣classDrawRect{ publicstaticvoidmain(String[]args) { System.out.println(“****"); System.out.println(“****"); System.out.println(“****"); }}3.1決策5例2:上一個(gè)例子的變形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(“*"); }}問題:如何作出決策,提高程序的執(zhí)行效率?6分析問題找出最佳解決方案以上兩種方法是初學(xué)者最容易想到的,但做了很多重復(fù)的工作,會(huì)使程序變得很繁瑣,結(jié)構(gòu)也不夠清晰。在工作量少的時(shí)候似乎沒那么明顯,但當(dāng)需要打印的矩陣比較大的時(shí)候就會(huì)顯現(xiàn)出來(如:打印一個(gè)100x60的矩陣)。想解決這個(gè)問題我們可以通過循環(huán)來解決,講到循環(huán)就要先介紹一下程序的結(jié)構(gòu)化設(shè)計(jì)。7程序設(shè)計(jì)的三種結(jié)構(gòu)順序結(jié)構(gòu)循環(huán)結(jié)構(gòu)選擇結(jié)構(gòu)
循環(huán)結(jié)構(gòu)與選擇結(jié)構(gòu)所使用的語(yǔ)句又叫作流程控制語(yǔ)句,作用是改變程序的執(zhí)行順序。83.1決策比較Java提供6種關(guān)系運(yùn)算符:<,<=,>,>=,==,!=注意:“等于”關(guān)系運(yùn)算符是兩個(gè)等號(hào)“==”,而不是一個(gè)等號(hào)“=”(賦值運(yùn)算符)。例:intx=3,y=4;inta=1,b=5;booleanstate=x-y<a+b;93.1決策if語(yǔ)句expression==true語(yǔ)句2語(yǔ)句1if(expression)語(yǔ)句1;語(yǔ)句2;103.1決策if語(yǔ)句expression==true語(yǔ)句2語(yǔ)句塊語(yǔ)句塊:用花括號(hào)括起來的語(yǔ)句。if(expression){statment1;statment2;……}語(yǔ)句2;左側(cè)的語(yǔ)句也以下語(yǔ)句有什么不同?if(expression)statment1;statment2;……語(yǔ)句2;11提示:合理采用縮進(jìn)格式書寫代碼堅(jiān)持用左右大括號(hào)將if條件括起來的習(xí)慣,即使一條語(yǔ)句也括。else子句if(expression){statement1;}else{statement2;}next_statement;練習(xí):Lt_1.java3.1決策123.1決策if語(yǔ)句的嵌套形式if(<條件1>)
if(<條件2>)<語(yǔ)句1>; else<語(yǔ)句2>;else
if(<條件3>)<語(yǔ)句3>; else<語(yǔ)句4>;若條件1成立,則執(zhí)行哪一組IF語(yǔ)句?若條件1不成立,則執(zhí)行哪一組IF語(yǔ)句?133.1決策if語(yǔ)句的嵌套形式if(<條件1>)<語(yǔ)句1>;elseif(<條件2>)<語(yǔ)句2>;elseif(<條件3>)………..else<語(yǔ)句n>;什么情況下會(huì)執(zhí)行到語(yǔ)句2,什么情況下會(huì)執(zhí)行到語(yǔ)句n?語(yǔ)句1與語(yǔ)句2等是否可以都執(zhí)行?else總是和距它最近的if配對(duì)143.2邏輯運(yùn)算符符號(hào)全名&邏輯與(logicalAND)&&條件與(conditionalAND)|邏輯或(logicalOR)||條件或(conditional)OR!邏輯非(logicalNOT)實(shí)例:letterCheck.java、letterCheck2.java15Character類常用的方法1、isDigit():如果實(shí)參為數(shù)字0~9,則返回true,否則返回false。2、isLetter():如果實(shí)參為字母則返回true,否則返回false。3、isLetterOrDigit():如果實(shí)參為字母或數(shù)字則返回true,否則返回false。4、isWhitespace():如果實(shí)參是空白符,則返回true,否則返回false??瞻追ㄖ票矸?、換行符、回車符、換頁(yè)符。實(shí)例:letterCheck3.java16格式:<條件>?<取值1>:<取值2>如:older=yourAge>myAge?yourAge:myage;相當(dāng)于如下的if語(yǔ)句:If(yourAge>myAge)
older=yourAge;else
older=myAge;例如:用條件語(yǔ)句判斷單復(fù)數(shù)ConditionalOp.java3.3條件運(yùn)算符(三目運(yùn)算符)17switch語(yǔ)句又稱多分支選擇語(yǔ)句與if-else一樣,是Java語(yǔ)言的條件選擇語(yǔ)句,if語(yǔ)句是判斷條件的值,再?gòu)膬蓚€(gè)程序塊中選擇其中一塊執(zhí)行,只能出現(xiàn)兩個(gè)分支,而switch語(yǔ)句可存在多個(gè)分支。處理多種分支情況時(shí),用switch語(yǔ)句代替if語(yǔ)句可以簡(jiǎn)化程序,使程序結(jié)構(gòu)清晰明了,可讀性增強(qiáng)。3.4switch語(yǔ)句18switch語(yǔ)句的一般形式為:switch(<條件>){case<常量值1>:<語(yǔ)句1>;break; case<常量值2>:<語(yǔ)句2>;break; ……….. case<常量值n>:<語(yǔ)句n>;break; [default:<缺省語(yǔ)句>;]}3.4switch語(yǔ)句產(chǎn)生的結(jié)果值可以是char型,byte型,short型,int型或枚舉型。不加break語(yǔ)句,執(zhí)行流程如何?若條件值與case值均不匹配,而又沒有此句,執(zhí)行流程如何?19switch(<條件>){ case<值1>: case<值2>: case<值3>:<語(yǔ)句3>;break; ……….. case<值n>:<語(yǔ)句n>;break; [default:<缺省語(yǔ)句>;]}執(zhí)行流程如何?實(shí)例:TrySwitch.java3.4switch語(yǔ)句20變量作用域(scope):指該變量名可以被引用在程序的那一部分上。在方法內(nèi)聲明的變量稱為局部變量(localvariable),對(duì)這些變量的訪問僅限定在聲明他們的方法中。局部變量從他們被聲明的地方開始,一直到包含這個(gè)聲明的語(yǔ)句塊結(jié)尾均可被訪問。
實(shí)例:Scope.java3.5變量的作用域21for語(yǔ)句的一般形式為:for(<初始化>;<條件>;<迭代因子>){ <循環(huán)體語(yǔ)句>}其中:初始化部分設(shè)置控制循環(huán)的變量的初值。條件判斷部分可以是任何布爾表達(dá)式。迭代因子控制循環(huán)變量遞增或遞減。3.6循環(huán)---for22for語(yǔ)句的執(zhí)行過程為:執(zhí)行初始化。判斷條件的返回值。如果為真執(zhí)行循環(huán)體語(yǔ)句;如果為假就跳出for語(yǔ)句循環(huán)。執(zhí)行迭代因子,為下次循環(huán)做準(zhǔn)備。返回②。for語(yǔ)句是先執(zhí)行②,即先判斷后執(zhí)行,如果不滿足判斷條件,循環(huán)體可能一次都不能執(zhí)行。3.6循環(huán)---for23for循環(huán)流程圖實(shí)例:ForLoop.javadoubleFor.java前續(xù)代碼及循環(huán)控制變量的定義循環(huán)體中的程序循環(huán)控制條件TrueFalse后續(xù)代碼步長(zhǎng)變量的改變24流程圖進(jìn)程判斷輸入輸出起始符NYYN開始結(jié)束inti=0i<3?i++i<4?j++intj=0打印*號(hào)打印換行符號(hào)25collection-basedfor循環(huán)采用for語(yǔ)句的基本格式在for循環(huán)語(yǔ)句的圓括號(hào)之間的第一個(gè)控制表達(dá)式中是循環(huán)變量,然后以冒號(hào)分隔,第二個(gè)控制表達(dá)式,確定了第一個(gè)控制表達(dá)式中聲明的變量的取值來源的集合。
程序:CollectionBasedForLoop.java3.6循環(huán)---for26while語(yǔ)句的一般形式為:[<初始化部分>]while(<條件表達(dá)式>){ <循環(huán)體語(yǔ)句>; [<迭代部分>;]}實(shí)例:whileLoop.java3.6循環(huán)---while27while語(yǔ)句的執(zhí)行過程為:初始化,為循環(huán)設(shè)置初始值。判斷條件表達(dá)式的值,如果為真,就執(zhí)行循環(huán)體語(yǔ)句;如果條件表達(dá)式的值為假,就跳出while語(yǔ)句。執(zhí)行迭代部分,為下次循環(huán)做準(zhǔn)備。返回②。while語(yǔ)句是先執(zhí)行②,即先判斷后執(zhí)行,如果不滿足判斷條件,循環(huán)體可能一次都不能執(zhí)行。注意,在循環(huán)體中應(yīng)該有使循環(huán)趨于結(jié)束的語(yǔ)句,否則循環(huán)將永遠(yuǎn)進(jìn)行下去,形成死循環(huán)。
3.6循環(huán)---while28while循環(huán)的流程圖前續(xù)代碼及循環(huán)控制變量的定義循環(huán)體中的程序循環(huán)控制條件TrueFalse后續(xù)代碼29for循環(huán)與while循環(huán)的比較for循環(huán)比while循環(huán)結(jié)構(gòu)清晰。for循環(huán)的循環(huán)控制變量的定義、初始化,選換結(jié)束的條件,步長(zhǎng)變量的控制都在一條語(yǔ)句中實(shí)現(xiàn)。while循環(huán)的循環(huán)控制變量是在循環(huán)之前定義的,循環(huán)控制條件與for相同,而步長(zhǎng)變量是在循環(huán)體內(nèi)部修改的。有時(shí)候用while實(shí)現(xiàn)會(huì)方便很多。例如在程序中將在1~10之間產(chǎn)生一個(gè)隨機(jī)數(shù),當(dāng)產(chǎn)生的數(shù)字為7的時(shí)候打印一個(gè)提示語(yǔ)句并結(jié)束程序,否則繼續(xù)執(zhí)行直到產(chǎn)生的數(shù)字為7。30while語(yǔ)句先判斷后執(zhí)行,while語(yǔ)句為“當(dāng)型“循環(huán)do-while語(yǔ)句先執(zhí)行后判斷,循環(huán)體至少被執(zhí)行一次,稱do-while語(yǔ)句為”直到型“循環(huán)。3.6循環(huán)---do-while31do-while語(yǔ)句的一般形式為:[<初始化部分>]do{<循環(huán)體語(yǔ)句>;[<迭代部分>;]}while(<條件表達(dá)式>);注意:這里while()后面有一個(gè)“;”3.6循環(huán)---do-while32do-while語(yǔ)句的執(zhí)行過程為:初始化,為循環(huán)設(shè)置初始值。執(zhí)行循環(huán)體語(yǔ)句。執(zhí)行跌代部分,為下次循環(huán)做準(zhǔn)備。判斷條件表達(dá)式的值,如果為真,就返回②;如果條件表達(dá)式的值為假,就跳出do-while語(yǔ)句。do-while語(yǔ)句是先執(zhí)行循環(huán)體,再判斷,循環(huán)體至少被執(zhí)行一次。同樣,在循環(huán)體中應(yīng)該有使循環(huán)趨于結(jié)束的語(yǔ)句。3.6循環(huán)---do-while33dowhile循環(huán)流程圖程序見:DoWhileLoop.java前續(xù)代碼及循環(huán)控制變量的定義循環(huán)體中的程序循環(huán)控制條件TrueFalse34嵌套循環(huán):
用戶可以將任何一種循環(huán)嵌入到另一種循環(huán)中,并且可以進(jìn)行任意多重的嵌套。例題:計(jì)算從1開始到給定數(shù)值之間所有整數(shù)的乘積。程序見:Factorial.java3.6循環(huán)35功能:結(jié)束本次循環(huán),進(jìn)入下一次循環(huán),例如:for(inti=1;i<=limit;i++){if(i%3==0){continue;}sum+=i;}3.6循環(huán)---continue36功能:可以停止執(zhí)行內(nèi)循環(huán),并且可以直接跳轉(zhuǎn)至包含本循環(huán)的外循環(huán)的下一輪迭代的起始處繼續(xù)執(zhí)行。程序見
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025標(biāo)準(zhǔn)合同范本格式
- 2025企業(yè)財(cái)務(wù)部全職會(huì)計(jì)勞動(dòng)合同
- 2025標(biāo)準(zhǔn)短期工合同協(xié)議
- 2025搬運(yùn)合同范本示例
- 銷售計(jì)劃員專業(yè)試題及答案
- 藝術(shù)消費(fèi)行為-洞察及研究
- 海洋氣候變化-洞察及研究
- 食品保質(zhì)期的確定和驗(yàn)證制度
- 校企合作中的混合式教學(xué)模式-洞察及研究
- 房屋裝修合同
- 日薪勞動(dòng)合同協(xié)議
- 兒童慢性鼻竇炎的診斷和治療中國(guó)專家共識(shí)(2024)解讀 課件
- 熱電偶基礎(chǔ)知識(shí)介紹
- 調(diào)度項(xiàng)目工程管理制度
- 資產(chǎn)內(nèi)部劃轉(zhuǎn)協(xié)議書
- 如何做工程資料
- 初中學(xué)生學(xué)籍信息采集表
- 《《路德維?!べM(fèi)爾巴哈和德國(guó)古典哲學(xué)的終結(jié)》導(dǎo)讀》課件
- 《生姜病蟲害防治》課件
- 倉(cāng)儲(chǔ)庫(kù)存保管服務(wù)管理合同(2024年版)
- 《電氣化公路運(yùn)輸系統(tǒng) 架空接觸網(wǎng)技術(shù)標(biāo)準(zhǔn)》
評(píng)論
0/150
提交評(píng)論