版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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(“*"); }}問(wèn)題:如何作出決策,提高程序的執(zhí)行效率?6分析問(wèn)題找出最佳解決方案以上兩種方法是初學(xué)者最容易想到的,但做了很多重復(fù)的工作,會(huì)使程序變得很繁瑣,結(jié)構(gòu)也不夠清晰。在工作量少的時(shí)候似乎沒(méi)那么明顯,但當(dāng)需要打印的矩陣比較大的時(shí)候就會(huì)顯現(xiàn)出來(lái)(如:打印一個(gè)100x60的矩陣)。想解決這個(gè)問(wèn)題我們可以通過(guò)循環(huán)來(lái)解決,講到循環(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)括起來(lái)的語(yǔ)句。if(expression){statment1;statment2;……}語(yǔ)句2;左側(cè)的語(yǔ)句也以下語(yǔ)句有什么不同?if(expression)statment1;statment2;……語(yǔ)句2;11提示:合理采用縮進(jìn)格式書(shū)寫(xiě)代碼堅(jiān)持用左右大括號(hào)將if條件括起來(lái)的習(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??瞻追ㄖ票矸Q行符、回車(chē)符、換頁(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值均不匹配,而又沒(méi)有此句,執(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ì)這些變量的訪問(wèn)僅限定在聲明他們的方法中。局部變量從他們被聲明的地方開(kāi)始,一直到包含這個(gè)聲明的語(yǔ)句塊結(jié)尾均可被訪問(wèn)。
實(shí)例:Scope.java3.5變量的作用域21for語(yǔ)句的一般形式為:for(<初始化>;<條件>;<迭代因子>){ <循環(huán)體語(yǔ)句>}其中:初始化部分設(shè)置控制循環(huán)的變量的初值。條件判斷部分可以是任何布爾表達(dá)式。迭代因子控制循環(huán)變量遞增或遞減。3.6循環(huán)---for22for語(yǔ)句的執(zhí)行過(guò)程為:執(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開(kāi)始結(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á)式中聲明的變量的取值來(lái)源的集合。
程序:CollectionBasedForLoop.java3.6循環(huán)---for26while語(yǔ)句的一般形式為:[<初始化部分>]while(<條件表達(dá)式>){ <循環(huán)體語(yǔ)句>; [<迭代部分>;]}實(shí)例:whileLoop.java3.6循環(huán)---while27while語(yǔ)句的執(zhí)行過(guò)程為:初始化,為循環(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í)行過(guò)程為:初始化,為循環(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)流程圖程序見(jiàn):DoWhileLoop.java前續(xù)代碼及循環(huán)控制變量的定義循環(huán)體中的程序循環(huán)控制條件TrueFalse34嵌套循環(huán):
用戶可以將任何一種循環(huán)嵌入到另一種循環(huán)中,并且可以進(jìn)行任意多重的嵌套。例題:計(jì)算從1開(kāi)始到給定數(shù)值之間所有整數(shù)的乘積。程序見(jiàn):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í)行。程序見(jiàn)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版智能電網(wǎng)建設(shè)與運(yùn)營(yíng)入股合同范本3篇
- 2025年度個(gè)人委托代繳社保代理合同樣本3篇
- 二零二五年度地下管線探測(cè)與測(cè)繪分包合同精準(zhǔn)實(shí)施范本3篇
- 2025年水泥編織袋市場(chǎng)拓展與品牌戰(zhàn)略合作框架協(xié)議3篇
- 2025年度制片人知識(shí)產(chǎn)權(quán)聘用合同規(guī)范
- 二零二五年度倉(cāng)儲(chǔ)用地租賃合同簡(jiǎn)易范本3篇
- 二零二五年度農(nóng)行電子商務(wù)平臺(tái)技術(shù)支持與維護(hù)合同
- 2025年離婚協(xié)議簽訂時(shí)效與婚姻解除后續(xù)子女監(jiān)護(hù)權(quán)協(xié)議合同3篇
- 二零二五版廢輪胎膠粉回收及橡膠制品生產(chǎn)合同3篇
- 二零二五年度品牌酒店用品采購(gòu)合同
- JTG∕T E61-2014 公路路面技術(shù)狀況自動(dòng)化檢測(cè)規(guī)程
- 高中英語(yǔ)短語(yǔ)大全(打印版)
- 2024年資格考試-對(duì)外漢語(yǔ)教師資格證筆試參考題庫(kù)含答案
- 軟件研發(fā)安全管理制度
- 三位數(shù)除以兩位數(shù)-豎式運(yùn)算300題
- 寺院消防安全培訓(xùn)課件
- 比摩阻-管徑-流量計(jì)算公式
- GB/T 42430-2023血液、尿液中乙醇、甲醇、正丙醇、丙酮、異丙醇和正丁醇檢驗(yàn)
- 五年級(jí)數(shù)學(xué)應(yīng)用題100道
- 西方經(jīng)濟(jì)學(xué)(第二版)完整整套課件(馬工程)
- GB/T 33688-2017選煤磁選設(shè)備工藝效果評(píng)定方法
評(píng)論
0/150
提交評(píng)論