版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、3.流程控制語句流程控制語句加入尚學(xué)堂,一起進步!本章概述本章概述 流程控制語句是用來控制程序中各語句執(zhí)行順序的語句,可以把語句組合成能完成一定功能的小邏輯模塊。 其流程控制方式采用結(jié)構(gòu)化程序設(shè)計中規(guī)定的三種基本流程結(jié)構(gòu),即:順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu),如下圖所示: 順序順序 分支分支 循環(huán)循環(huán)本章概述本章概述 順序結(jié)構(gòu) 選擇結(jié)構(gòu) if-else switch 循環(huán)結(jié)構(gòu) while do-while for 跳轉(zhuǎn) break continue return 多重循環(huán) 方法 定義、調(diào)用、重載 遞歸算法本章技能點列表本章技能點列表技能點名稱技能點名稱難易程度難易程度認知程度認知程度重要程度重要程
2、度if語句中應(yīng)用*switch語句中應(yīng)用*while語句 難應(yīng)用*do-while語句難應(yīng)用*for語句難應(yīng)用*跳轉(zhuǎn)語句 break中應(yīng)用*跳轉(zhuǎn)語句 continue中應(yīng)用*跳轉(zhuǎn)語句 return中應(yīng)用*技能點名稱技能點名稱難易程度難易程度認知程度認知程度重要程度重要程度多重循環(huán)難應(yīng)用*多重循環(huán)下跳轉(zhuǎn)語句難應(yīng)用*方法定義和調(diào)用難理解*方法重載中理解*本章技能點列表本章技能點列表if單分支選擇結(jié)構(gòu)單分支選擇結(jié)構(gòu) if語句對條件表達式進行一次測試,若測試為真,則執(zhí)行下面的語句,否則跳過該語句語 句布爾表達式falsetrue流程圖附:Math類的使用:類的使用:int i = (int) (6 *
3、 Math.random(); /產(chǎn)生:產(chǎn)生:0,5/如何產(chǎn)生:如何產(chǎn)生:10-15隨機數(shù)隨機數(shù)?if 語句語句 double i = 6 * Math.random();double j = 6 * Math.random();double k = 6 * Math.random();int count = (int) (i + j + k);if(count 15 ) System.out.println(“今天手氣不錯今天手氣不錯”);if(count = 10 & count = 15) /錯誤寫法:錯誤寫法:10count15System.out.println(“今天手氣很
4、一般今天手氣很一般”);if(count = circle) System.out.println(“面積大于等于面積大于等于周長周長”); else System.out.println(“周長大于面積周長大于面積”);If-else if-else多分支選擇結(jié)構(gòu)多分支選擇結(jié)構(gòu)if(布爾表達式1) 語句塊1; else if(布爾表達式2) 語句塊2;else if(布爾表達式n)語句塊n; else 語句塊n+1;逐條if語句進行判斷條件匹配,進入語句體否則對if語句繼續(xù)匹配int age = (int) (100 * Math.random();System.out.print(“年齡是
5、年齡是” + age + “, 屬于屬于”);if (age 15) System.out.println(“兒童兒童, 喜歡玩!喜歡玩!”); else if (age 25) System.out.println(“青年青年, 要學(xué)習(xí)!要學(xué)習(xí)!”); else if (age 45) System.out.println(“中年中年, 要工作!要工作!”); else if (age 65) System.out.println(“中老年中老年, 要補鈣!要補鈣!”); else if (age 85) System.out.println(“老年老年, 多運動!多運動!”); else
6、System.out.println(“老壽星老壽星, 古來?。」艁硐。 ?;switch多分支選擇結(jié)構(gòu)多分支選擇結(jié)構(gòu) 根據(jù)表達式值的不同執(zhí)行許多不同的操作switch (表達式) case 值1 : 語句序列; break; case 值2: 語句序列; break ; default: 默認語句 ; 1.switch語句會根據(jù)表達式的值從相匹配從相匹配的執(zhí)行,一直執(zhí)行到的執(zhí)行,一直執(zhí)行到break標(biāo)簽處開始標(biāo)簽處開始ak語句處或者是語句處或者是switch語句的末尾。語句的末尾。與任一case值不匹配,則進入default語句(如果有的話) 2.只能處理等值條件判斷的情況,且表達式必須為b
7、yte,short,int或char類型 ,不能是String或double,float.3.常量值必須是與表達式類型兼容的特定的一個常量4.不允許有重復(fù)的case值 5.default子句為可選switch多值選擇結(jié)構(gòu)多值選擇結(jié)構(gòu) char c = a;int rand =(int) (26*Math.random();char c2 = (char)(c+rand);System.out.print(c2 + “: ”);switch (c2) case a:case e:case i:case o:case u:System.out.println(“元音元音”); break;case
8、 y:case w:System.out.println(“半元音半元音”); break;default:System.out.println(“輔音輔音”);while循環(huán)循環(huán) 在循環(huán)剛開始時,會計算一次“布爾表達式”的值,若條件為真,執(zhí)行循環(huán)體。而對于后來每一次額外的循環(huán),都會在開始前重新計算一次。 語句中應(yīng)有使循環(huán)趨向于結(jié)束的語句,否則會出現(xiàn)無限循環(huán)死循環(huán)。while循環(huán)循環(huán) public class WhileTest public static void main(String args) int i = 0;int sum = 0;while (i = 100) sum += i
9、; /sum = sum+i; i+; System.out.println(Sum= + sum); 循環(huán)結(jié)構(gòu)都由如下四個結(jié)構(gòu)組成:初始化、條件判斷、循環(huán)體、迭代do-while循環(huán)循環(huán) do-while: 先執(zhí)行,后判斷。 while: 先判斷,后執(zhí)行。int a = 0;while(a0)System.out.println(a);a+;System.out.println(“-”);a=0;doSystem.out.println(a);a+; while (a0);While和和dowhile的區(qū)別:的區(qū)別:Dowhile總是保證循環(huán)體會被至少執(zhí)總是保證循環(huán)體會被至少執(zhí)行一次!這是他
10、們的主要差別行一次!這是他們的主要差別for循環(huán)循環(huán) for循環(huán)語句是支持迭代的一種通用結(jié)構(gòu),是最有效、最靈活的循環(huán)結(jié)構(gòu) 語法形式 for (初始表達式;布爾表達式;步進) 循環(huán)體; 注意事項 for循環(huán)在執(zhí)行條件測試后,先執(zhí)行程序部分,再執(zhí)行步進。 在for語句的初始化部分聲明的變量,其作用域為整個for循環(huán)體 “初始化”和“循環(huán)條件表達式”部分可以使用逗號來執(zhí)行多個操作 如果三個部分都為空語句(分號不能省),相當(dāng)于一個無限循環(huán)課堂練習(xí)課堂練習(xí) 用while和for循環(huán)分別計算100以內(nèi)奇數(shù)和偶數(shù)的和,并輸出。 用while和for循環(huán)輸出1-1000之間能被5整除的數(shù),且每行輸出3個。 使
11、用循環(huán)分別實現(xiàn)將10進值整數(shù)和小數(shù)變成二進制數(shù)跳轉(zhuǎn)語句跳轉(zhuǎn)語句-break和和continue 在任何循環(huán)語句的主體部分,均可用break控制循環(huán)的流程。break用于強行退出循環(huán),不執(zhí)行循環(huán)中剩余的語句。(break語句還可用于多支語句switch中)continue 語句用在循環(huán)語句體中,用于終止某次循環(huán)過程,即跳過循環(huán)體中尚未執(zhí)行的語句,接著進行下一次是否執(zhí)行循環(huán)的判定。生成生成0-100隨機數(shù),直到生成隨機數(shù),直到生成88為止,停止循環(huán)!為止,停止循環(huán)!把把100150之間不能被之間不能被3整除的數(shù)輸出:整除的數(shù)輸出: int total = 0; System.out.println
12、(“Begin”); while(true) total+; int i = (int)Math.round(100 * Math.random(); if(i = 88) break; System.out.println(Game over, used + total + times.); for (int i = 100; i 150; i+) if (i % 3 = 0)continue; System.out.println(i); 跳轉(zhuǎn)語句跳轉(zhuǎn)語句-return return語句從當(dāng)前方法退出,返回到調(diào)用該方法的語句處,并從該語句的下條語句處繼續(xù)執(zhí)行程序。 返回語句的兩種格式(具體
13、到方法時詳細講解) 1、return expression 返回一個值給調(diào)用該方法的語句。 返回值的數(shù)據(jù)類型必須和方法聲明中的返回值類型一致或是精度低于聲明的數(shù)據(jù)類型。 2、return 當(dāng)方法聲明中用void聲明返回類型為空時,應(yīng)使用這種返回類型,它不返回任何值。 break switch語句 循環(huán)語句 continue 循環(huán)語句 return 任何語句中,結(jié)束當(dāng)前方法,和循環(huán)其實沒有什么關(guān)系跳轉(zhuǎn)語句總結(jié)跳轉(zhuǎn)語句總結(jié)多重循環(huán)多重循環(huán) 三種循環(huán)方式 while do-while for 多重循環(huán)(循環(huán)嵌套) 一個循環(huán)體內(nèi)又包含另一個完整的循環(huán)結(jié)構(gòu) 任何兩種循環(huán)都可以相互嵌套 可以任意層次循環(huán),
14、但是一般不超過3層 多重循環(huán)執(zhí)行過程 外層循環(huán)變量變化一次,內(nèi)層循環(huán)變量要變化一遍for(循環(huán)條件循環(huán)條件1) /循環(huán)操作循環(huán)操作1 for(循環(huán)條件循環(huán)條件2) /循環(huán)操作循環(huán)操作2 while(循環(huán)條件循環(huán)條件1) /循環(huán)操作循環(huán)操作1 for(循環(huán)條件循環(huán)條件2) /循環(huán)操作循環(huán)操作2 多重循環(huán)多重循環(huán) 打印矩形 打印平行四邊形 打印等腰三角形 打印菱形多重循環(huán)多重循環(huán) 多重循環(huán)中使用break 示例 有5家衣服專賣店,每家最多購買3件。用戶可以選擇離開,可以買衣服。最后打印總共買了幾件衣服 思路 外層循環(huán)控制去每個專賣店 內(nèi)層循環(huán)控制買衣服過程 使用break退出內(nèi)層循環(huán) 可以使用br
15、eak直接退出外層循環(huán) 使用goto 使用符號量多重循環(huán)多重循環(huán) 帶標(biāo)簽的break和continue goto關(guān)鍵字很早就在程序設(shè)計語言中出現(xiàn)。盡管goto仍是Java的一個保留字,但并未在語言中得到正式使用;Java沒有g(shù)oto。然而,在break和continue這兩個關(guān)鍵字的身上,我們?nèi)匀荒芸闯鲆恍ゞoto的影子-帶標(biāo)簽的break和continue。public class PrimeNumber public static void main(String args) int count = 0;outer: for (int i = 101; i 150; i +) for (i
16、nt j = 2; j i / 2; j+) if (i % j = 0)continue outer; System.out.print(i+ );/打印101-150之間所有的質(zhì)數(shù)課堂作業(yè)課堂作業(yè) 百錢買白雞 輸出九九乘法表: 什么是方法 封裝在一起來執(zhí)行操作語句的集合,用來完成某個功能操作 在某些語言中稱為函數(shù)或者過程 特殊的方法main,程序執(zhí)行的入口public static void main(String args)實現(xiàn)功能的語句 不可能所有的功能都放到main中,需要定義其他方法完成指定功能,需要時調(diào)用方法即可方法方法 定義方法修飾符 方法返回值類型 方法名(形參列表 ) 方法
17、體return 返回值;public static int add(int a, int b, int c) int k = a + b + c;return k; 修飾符:封裝性時再講,決定了方法的工作范圍 返回值類型:必選,如果沒有返回值,須寫void。方法只能返回一個值 方法名: 參數(shù)列表:可以0個、1個、多個,需要同時說明類型。稱為形式參數(shù) 方法體:完成具體功能。如果有返回值,必須有return語句;如果沒有返回值,默認最后一條語句是return,可以省略。方法方法 方法調(diào)用方法方法public class MethodTest public static int add(int a,
18、 int b, int c) int k = a + b + c;return k;public static void main(String args) int i = 3,j=4,k=5;int result =add(i, j, k);形參列表格式:數(shù)據(jù)類型1 形參名1,數(shù)據(jù)類型2 形參名2,return 語句用于終止方法的執(zhí)行并指定要返回的數(shù)據(jù),調(diào)用方法調(diào)用的形式:對象引用.方法名(實參列表)實參的數(shù)目、數(shù)據(jù)類型和次序必須和所調(diào)用方法聲明的形參列表匹配方法方法 方法重載 一個類中可以定義有相同的名字,但參數(shù)不同的多個方法 調(diào)用時,會根據(jù)不同的參數(shù)表選擇對應(yīng)的方法。 判斷依據(jù) 同一個類 同一個方法名 不同:參數(shù)列表不同(類型,個數(shù),順序不同) 注意 只有返回值不同不構(gòu)成方法的重載(int a(String str), void aString i, 調(diào)用:a(),誰能告訴我是調(diào)哪個方法? 只有形參的名稱不同,不構(gòu)成方法的重載 選擇結(jié)構(gòu) if語句 單、雙、多分支選擇結(jié)構(gòu),等值、不等
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 對企業(yè)有利的加班合同(2篇)
- 二零二五年智能家電技術(shù)服務(wù)合同范本3篇
- 宜賓酒王二零二五年度800億控量保價市場占有率提升合同2篇
- 二零二五年度酒店會議住宿套餐定制合同2篇
- 2025年度電子信息產(chǎn)業(yè)設(shè)備采購與技術(shù)服務(wù)合同3篇
- 二零二五版工程款分期支付還款協(xié)議合同范本3篇
- 二零二五版碧桂園集團施工合同示范文本6篇
- 二零二五版豆腐出口貿(mào)易代理合同3篇
- 二零二五年度韻達快遞業(yè)務(wù)承包合同及綜合運營支持協(xié)議3篇
- 2024年物流運輸承包合同3篇
- 氧化鋁生產(chǎn)工藝教學(xué)拜耳法
- 2023年十八項醫(yī)療核心制度考試題與答案
- 氣管切開患者氣道濕化的護理進展資料 氣管切開患者氣道濕化
- 管理模板:某跨境電商企業(yè)組織結(jié)構(gòu)及部門職責(zé)
- 底架總組裝工藝指導(dǎo)書
- 簡單臨時工勞動合同模板(3篇)
- 聚酯合成反應(yīng)動力學(xué)
- 自動控制原理全套課件
- 上海科技大學(xué),面試
- 《五年級奧數(shù)總復(fù)習(xí)》精編課件
- TS2011-16 帶式輸送機封閉棧橋圖集
評論
0/150
提交評論