Java程序設(shè)計基礎(chǔ)項(xiàng)目化教程 課件 03 選擇結(jié)構(gòu);04 循環(huán)結(jié)構(gòu)_第1頁
Java程序設(shè)計基礎(chǔ)項(xiàng)目化教程 課件 03 選擇結(jié)構(gòu);04 循環(huán)結(jié)構(gòu)_第2頁
Java程序設(shè)計基礎(chǔ)項(xiàng)目化教程 課件 03 選擇結(jié)構(gòu);04 循環(huán)結(jié)構(gòu)_第3頁
Java程序設(shè)計基礎(chǔ)項(xiàng)目化教程 課件 03 選擇結(jié)構(gòu);04 循環(huán)結(jié)構(gòu)_第4頁
Java程序設(shè)計基礎(chǔ)項(xiàng)目化教程 課件 03 選擇結(jié)構(gòu);04 循環(huán)結(jié)構(gòu)_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

Java程序設(shè)計基礎(chǔ)第三章:選擇結(jié)構(gòu)主講人莊愛云

常見的選擇語句有哪幾種?if選擇結(jié)構(gòu)書寫規(guī)范有哪些?多重if選擇結(jié)構(gòu)的執(zhí)行流程是怎樣的?if-else選擇結(jié)構(gòu)執(zhí)行的順序是什么?預(yù)習(xí)測試問題本章任務(wù)實(shí)現(xiàn)“樂GO購物管理系統(tǒng)”如下功能模塊:實(shí)現(xiàn)會員信息錄入實(shí)現(xiàn)幸運(yùn)抽獎實(shí)現(xiàn)按會員優(yōu)惠計劃進(jìn)行購物結(jié)算實(shí)現(xiàn)計算會員折扣菜單跳轉(zhuǎn)功能商品換購功能學(xué)習(xí)目標(biāo)掌握基本if選擇結(jié)構(gòu)掌握多重if選擇結(jié)構(gòu)掌握嵌套if選擇結(jié)構(gòu)掌握switch選擇結(jié)構(gòu)If選擇結(jié)構(gòu)

-樂GO購物系統(tǒng)會員錄入、抽獎及結(jié)算功能01基本if選擇結(jié)構(gòu)01多重if選擇結(jié)構(gòu)02If嵌套結(jié)構(gòu)03CONTENTS目錄基本if選擇結(jié)構(gòu)01CONTENTS目錄基本if選擇結(jié)構(gòu)if的選擇結(jié)構(gòu)是根據(jù)條件判斷之后再做處理的一種語法結(jié)構(gòu)。if(條件){//代碼塊}基本的if選擇結(jié)構(gòu)條件判斷,結(jié)果必須是布爾值代碼塊帶括號括起,只有一條語句時,建議不省略{}實(shí)例講解【例】世界之窗景點(diǎn)門票,為了弘揚(yáng)中華民族的尊老愛幼的美德,實(shí)行對年紀(jì)大于60的老人實(shí)行免票的政策。請結(jié)合該情況,實(shí)現(xiàn)該景點(diǎn)的售票系統(tǒng)的售票功能實(shí)現(xiàn)。publicclassExample1{ publicstaticvoidmain(String[]args){ Scannerinput=newScanner(System.in);//提示輸入年紀(jì)System.out.print("輸入您的年紀(jì):");//從控制臺獲取顧客的年紀(jì)intage=input.nextInt(); if(age>60){//判斷是否大于60 System.out.println("你好,你的免費(fèi)門票已生成!");} }}If-else選擇結(jié)構(gòu)

接著上面的實(shí)例,如果顧客的年紀(jì)大于60,門票免費(fèi),否則需要支付120元門票。那么如何來實(shí)現(xiàn)不滿足條件的情況處理呢?這時我們就要引入另一種if的選擇結(jié)構(gòu),if…else選擇結(jié)構(gòu)。if語句后面可以跟else語句,當(dāng)if語句的布爾表達(dá)式值為false時,else語句塊會被執(zhí)行。語法結(jié)構(gòu)如下:if(條件){//代碼塊1}else{//代碼塊2}當(dāng)條件判斷結(jié)構(gòu)為flase時,被執(zhí)行不要省略{實(shí)例講解【例】使用基本的if-else選擇結(jié)構(gòu)解決問題,如果顧客的年紀(jì)大于60,門票免費(fèi),否則需要支付120元門票。publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);//提示輸入年紀(jì)System.out.print("輸入您的年紀(jì):");//從控制臺獲取顧客的年紀(jì)intage=input.nextInt(); if(age>60){//判斷是否大于60System.out.println("你好,你的免費(fèi)門票已生成!");}else{System.out.println("你好,您的門票費(fèi)用為120元!"); }}基本if選擇結(jié)構(gòu)01多重if選擇結(jié)構(gòu)02If嵌套結(jié)構(gòu)03CONTENTS目錄多重if選擇結(jié)構(gòu)02CONTENTS目錄多重if選擇結(jié)構(gòu)if語句后面還可以跟elseif…else語句,這種語句可以檢測到多種可能的情況。if...else語法格式如下:if(布爾表達(dá)式1){//如果布爾表達(dá)式1的值為true執(zhí)行代碼}elseif(布爾表達(dá)式2){//如果布爾表達(dá)式2的值為true執(zhí)行代碼}elseif(布爾表達(dá)式3){//如果布爾表達(dá)式3的值為true執(zhí)行代碼}……//可以有多個elseifelse{//如果以上布爾表達(dá)式都不為true執(zhí)行代碼}可以有多個elseif語句,來實(shí)現(xiàn)多個選擇,并且都在else語句前elseif檢測到true時,將跳過其它elseif及else語句實(shí)例講解【例】為了強(qiáng)化學(xué)生實(shí)踐能力的培養(yǎng)和訓(xùn)練,同時鼓勵學(xué)生競賽中的團(tuán)隊協(xié)作的精神,學(xué)校舉行了計算機(jī)編程大賽,設(shè)置如下獎項(xiàng):如果獲得第一名,將參加麻省理工大學(xué)組織的1個月夏令營如果獲得第二名,將獎勵惠普筆記本電腦一部如果獲得第三名,將獎勵移動硬盤一個否則,不給任何獎勵李明同學(xué)積極參加了本次比賽,請根據(jù)請李明同學(xué)輸入自

己的獲獎名次,輸出對應(yīng)的獎勵類別。publicclassExample3{ publicstaticvoidmain(String[]args){ Scannerinput=newScanner(System.in); System.out.println("請選擇你獲得的名次:1、第一名;2、第二名;3、第三名;"); intmingci=input.nextInt(); if(mingci==1){ System.out.println("參加麻省理工大學(xué)組織的1個月夏令營"); } elseif(mingci==2){ System.out.println("獎勵惠普筆記本電腦一部");} elseif(mingci==3){ System.out.println("獎勵移動硬盤一個"); } else{ System.out.println("沒有任何獎勵"); } }基本if選擇結(jié)構(gòu)01多重if選擇結(jié)構(gòu)02If嵌套結(jié)構(gòu)03CONTENTS目錄If嵌套結(jié)構(gòu)03CONTENTS目錄嵌套if選擇結(jié)構(gòu)if(條件1){if(條件2){//代碼塊1}else{//代碼塊2}}else{//代碼塊3}假真假真條件1條件2代碼塊3代碼塊2代碼塊1內(nèi)層選擇結(jié)構(gòu)嵌套if選擇結(jié)構(gòu)就是在if里面再嵌入if選擇結(jié)構(gòu),語法結(jié)構(gòu)如下:實(shí)例講解【例】李明同學(xué)制定了活動計劃的安排,如果今天是工作日,則去上學(xué),如果今天是周末,則外出游玩;同時,如果周末天氣晴朗,則去室外游樂場游玩,否則去室內(nèi)游樂場游玩。publicstaticvoidmain(String[]args){ Stringtoday="周末"; Stringweather="晴郎"; if(today.equals("周末")){ if(weather.equals("晴朗")){ System.out.println("去室外游樂場玩吧!"); } else{ System.out.println("去室內(nèi)游樂場玩吧!"); } } else{ System.out.println("去上學(xué)!");} }任務(wù)實(shí)施樂GO購物活動,開展會員辦理業(yè)務(wù),對于錄入的會員有一次抽獎活動。需求說明If選擇語句的使用if-else選擇結(jié)構(gòu)訓(xùn)練要點(diǎn)產(chǎn)生隨機(jī)數(shù)從控制臺接收一個4位會員號分解獲得百位數(shù)判斷是否是幸運(yùn)會員實(shí)現(xiàn)思路樂GO系統(tǒng)會員信息錄入及會員抽獎If選擇結(jié)構(gòu)的使用提示任務(wù)拓展樂GO購物根據(jù)會員的積分不同,享受不同的折扣需求說明多選擇結(jié)構(gòu)的條件匹配多選擇結(jié)構(gòu)訓(xùn)練要點(diǎn)首先實(shí)現(xiàn)條件匹配然后實(shí)現(xiàn)不同條件下的代碼實(shí)現(xiàn)實(shí)現(xiàn)思路樂GO系統(tǒng)功能界面顯示Switch選擇結(jié)構(gòu)

-樂GO購物系統(tǒng)商品換購功能實(shí)現(xiàn)02Switch選擇結(jié)構(gòu)01CONTENTS目錄Switch選擇結(jié)構(gòu)switch語句是Java的多路分支語句。它提供了一種基于一個表達(dá)式的值來使程序執(zhí)行不同部分的簡單方法switchcase語句判斷一個變量與一系列值中某個值是否相等,每個值稱為一個分支。switchcase語句語法格式如下:switch(表達(dá)式){case常量1:

語句; break;case常量2:

語句; break; … default:

語句;}int、short、byte、char、枚舉類型、StringSwitch后面可以擁有多個case語句。每個case后面要跟一個要比較的值和冒號。且case語句的值必須與變量表達(dá)式的類型一致,而且只能是常量。當(dāng)變量的值與case語句的值相等時,那么case語句之后的語句開始執(zhí)行,直到break語句出現(xiàn)才會跳出switch語句。case語句不必須要包含break語句。如果沒有break語句出現(xiàn),程序會繼續(xù)執(zhí)行下一條case語句,直到出現(xiàn)break語句。switch語句可以包含一個default分支,該分支一般是switch語句的最后一個分支(可以在任何位置,但建議在最后一個)。default在沒有case語句的值和變量值相等的時候執(zhí)行。default分支不需要break語句。實(shí)例講解【例】某銀行網(wǎng)上銀行業(yè)務(wù)辦理提供如下功能菜單選擇:1、存款2、取款3、轉(zhuǎn)賬4、查詢5、退出

請根據(jù)具體的選擇,分別進(jìn)入不同的業(yè)務(wù)辦理。public

static

voidmain(String[]args){ Scannerinput=newScanner(System.in); System.out.println("請選擇你要辦理的銀行業(yè)務(wù):1、存款;2、取款;3、轉(zhuǎn)賬;4、查詢;5、退出");

intchoose=input.nextInt();

switch(choose){

case1:System.out.println("歡迎進(jìn)入存款業(yè)務(wù)辦理!");

break;

case2:System.out.println("歡迎進(jìn)入取款業(yè)務(wù)辦理!");

break;

case3:System.out.println("歡迎進(jìn)入轉(zhuǎn)賬業(yè)務(wù)辦理!");

break;

case4:System.out.println("歡迎進(jìn)入查詢業(yè)務(wù)辦理!");

break;

default:System.out.println("您已退出系統(tǒng)!");}

}任務(wù)實(shí)施實(shí)現(xiàn)菜單跳轉(zhuǎn)功能需求說明Switch選擇結(jié)構(gòu)訓(xùn)練要點(diǎn)使用數(shù)字標(biāo)識菜單號獲取用戶輸入的數(shù)字執(zhí)行相應(yīng)的操作實(shí)現(xiàn)思路樂GO系統(tǒng)菜單跳轉(zhuǎn)功能任務(wù)拓展實(shí)現(xiàn)商品換購功能需求說明switch多選擇結(jié)構(gòu)的條件匹配多選擇結(jié)構(gòu)的跳轉(zhuǎn)訓(xùn)練要點(diǎn)首先實(shí)現(xiàn)條件匹配然后實(shí)現(xiàn)不同條件下的代碼實(shí)現(xiàn)實(shí)現(xiàn)思路樂GO系統(tǒng)商品換購功能項(xiàng)目實(shí)訓(xùn)BMI是確定“健康體重范圍”最常用的工具,今天我們將來實(shí)現(xiàn)BMI獲取功能。根據(jù)體脂率計算公式,計算出體脂率,并分別根據(jù)男女不同的體脂率的標(biāo)準(zhǔn)給出相應(yīng)的體型結(jié)果BMI=體重(公斤)÷(身高×身高)(米)需求說明體脂率測量及體型判斷系統(tǒng)功能實(shí)現(xiàn)分析選擇判斷條件選擇合適的選擇判斷語句實(shí)現(xiàn)思路總結(jié)if選擇結(jié)構(gòu),包括以下形式基本if選擇結(jié)構(gòu):可以處理單一或組合條件的情況if-else選擇結(jié)構(gòu):可以處理簡單的條件分支情況多重if選擇結(jié)構(gòu):可以處理分段的條件分支情況嵌套if選擇結(jié)構(gòu):可以處理復(fù)雜的條件分支情況switch選擇結(jié)構(gòu)多重分支并且條件判斷是等值判斷的情況謝謝!程序設(shè)計基礎(chǔ)

第四章循環(huán)結(jié)構(gòu)主講人:丁文任務(wù)1:輸入商品編號,查詢商品價格任務(wù)2:完成用戶的購物結(jié)算抽獎,實(shí)現(xiàn)購物小票打印功能任務(wù)3:統(tǒng)計打折商品數(shù)量本章任務(wù)樂GO購物管理系統(tǒng)購物車功能實(shí)現(xiàn)

學(xué)習(xí)目標(biāo)理解循環(huán)的含義會使用while循環(huán)結(jié)構(gòu)會使用do-while循環(huán)結(jié)構(gòu)會使用for循環(huán)結(jié)構(gòu)掌握break語句應(yīng)用掌握continue語句應(yīng)用掌握循環(huán)嵌套的應(yīng)用打印100份考卷繞400米操場10圈行駛中的汽車輪胎滾動生活中的循環(huán)

循環(huán)結(jié)構(gòu)的特點(diǎn):循環(huán)條件、循環(huán)操作System.out.println("第1天健康");System.out.println("第2天健康");System.out.println("第3天健康");System.out.println("第4天健康");

…System.out.println("第30天健康");如何快速顯示30天身體狀態(tài)為“健康”導(dǎo)入顯示某人30天身體狀態(tài)為健康While循環(huán)01步驟一初始化語句步驟四控制語句步驟二while(循環(huán)條件)符合條件,循環(huán)繼續(xù)執(zhí)行;否則,循環(huán)退出步驟三循環(huán)操作循環(huán)中被重復(fù)執(zhí)行的操作什么是while循環(huán)流程圖如何實(shí)現(xiàn)快速打?。保埃皬堅嚲沓跏蓟Z句:count=1循環(huán)條件語句:count<=100循環(huán)體:System.out.println("打印第"+count+"份試卷");控制語句:count++。publicstaticvoidmain(String[]args){

intcount=1;

while(count<=100){

System.out.println("打印第"+count+"份試卷");

count++;

}}分析使用while循環(huán)演示示例:使用while循環(huán)打印試卷小結(jié)在需要重復(fù)做一件事時Where重復(fù)地做一件事What減少代碼量,增加可讀性,易維護(hù)Why四要素:起點(diǎn)(初始化語句)終點(diǎn)(條件表達(dá)式)做什么事(循環(huán)體)起點(diǎn)到終點(diǎn)如何變化(控制語句)How:演示示例:健康打卡HOWDo…While循環(huán)02什么是do-while循環(huán)do-while循環(huán)至少執(zhí)行一次do{

循環(huán)操作}while(循環(huán)條件);先執(zhí)行一遍循環(huán)操作符合條件,循環(huán)繼續(xù)執(zhí)行;否則,循環(huán)退出分號不可少

1、do…while語句求出1至100的偶數(shù)和。

intx=1; do{

System.out.println("打印"+x+"張試卷"); x++; }while(x<=100);示例打印100張試卷使用do-while循環(huán)先執(zhí)行一遍循環(huán)操作循環(huán)條件演示示例:使用do-while循環(huán)結(jié)構(gòu)VS有什么區(qū)別呢?while循環(huán)初始情況不滿足循環(huán)條件時,while循環(huán)一次都不會執(zhí)行do-while循環(huán)do-while循環(huán)不管任何情況都至少執(zhí)行一次執(zhí)行結(jié)果為:執(zhí)行結(jié)果為:11

1、do…while語句求出1至100的偶數(shù)和。作業(yè)1、用Do…while語句求出1至100的偶數(shù)和。2、用while語句求出1至100的偶數(shù)和。for循環(huán)語句03for(

int

i=0;i<100;i++){

System.out.println(“打卡情況:健康!");}for循環(huán)的語法和執(zhí)行順序for(

;

;

){

;}條件為true循環(huán)體被執(zhí)行

表達(dá)式1

表達(dá)式2

表達(dá)式3循環(huán)操作參數(shù)初始化條件判斷更新循環(huán)變量語法1243案例什么是for循環(huán)使用for循環(huán)結(jié)構(gòu)的步驟分析循環(huán)條件和循環(huán)操作套用for語法寫出代碼檢查循環(huán)是否能夠退出分析統(tǒng)計平均學(xué)習(xí)時間。計算機(jī)專業(yè)技能要提升,課外必須要花大量時間練習(xí),老師為了促進(jìn)大家專業(yè)更好發(fā)展,設(shè)計一個程序統(tǒng)計學(xué)生一周平均有效時間的平均值。輸入一周的學(xué)習(xí)時間,求周一至周五每日平均學(xué)習(xí)時間。問題演示示例:統(tǒng)計每日平均學(xué)習(xí)時間運(yùn)行結(jié)果

publicstaticvoidmain(Stringargs[]){

inttime; //學(xué)習(xí)時間

intsum=0; //學(xué)習(xí)時間之和 doubleavg=0; //平均學(xué)習(xí)時間 Scannerinput=newScanner(System.in); for(int

i=0;i<5;i++){ //循環(huán)五次錄入五天學(xué)習(xí)時間

System.out.print("請輸入周"+(i+1)+"的學(xué)習(xí)時間:"); time=input.nextInt(); //錄入時間 sum=sum+time; //計算學(xué)習(xí)時間和 }

avg=(double)sum/5; //計算平均學(xué)習(xí)時間

System.out.println("周一至周五每日平均學(xué)習(xí)時間是:"+avg+"小時"); }

初始值:i=0循環(huán)條件:i<5循環(huán)變量改變:i++循環(huán)操作執(zhí)行5次如何使用for循環(huán)示例for循環(huán)語句總結(jié)由①進(jìn)入循環(huán),然后反復(fù)執(zhí)行②④③,直至條件②不再滿足求1至10的和

1、do…while語句求出1至100的偶數(shù)和。作業(yè)1、用for語句實(shí)現(xiàn)求1至100的偶數(shù)和。2、求水仙花數(shù)。3、統(tǒng)計能同時被3和5整除的三位數(shù)break、continue跳轉(zhuǎn)語句04什么是break語句break:改變程序控制流用于do-while、while、for循環(huán)中時,可跳出循環(huán)而執(zhí)行循環(huán)后面的語句while(…){………………break;………………}跳出整個循環(huán)break通常在循環(huán)中與條件語句一起使用52/39break的作用是跳出當(dāng)前循環(huán)塊(for、while、dowhile)或程序塊(switch)。在循環(huán)塊中的作用是跳出當(dāng)前正在循環(huán)的循環(huán)體。在程序塊中的作用是中斷和下一個case條件的比較)。使用break時,跳出循環(huán)(結(jié)束循環(huán))。如何使用break語句循環(huán)錄入某學(xué)生5門課的成績并計算平均分。如果某分?jǐn)?shù)錄入為負(fù),停止錄入并提示錄入錯誤循環(huán)錄入成績,判斷錄入正確性。錄入錯誤,使用break語句立刻跳出循環(huán);否則,累加求和問題分析53/39//……for(int

i=0;i<5;i++){ //循環(huán)5次錄入5門課成績

System.out.print("請輸入第"+(i+1)+"門課的成績:");

score=input.nextInt();if(score<0){ //輸入負(fù)數(shù)

isNegative=true;

break; }sum=sum+score; //累加求和}//…循環(huán)外的語句…對錄入的分?jǐn)?shù)進(jìn)行判斷。如

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論