版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第三章流程控制第一單元第1頁/共60頁本章相關(guān)學(xué)習(xí)資源《流程控制》專題《使用Java實(shí)現(xiàn)面向?qū)ο缶幊獭返?章《流程控制》學(xué)習(xí)平臺“Java基礎(chǔ)語法”課程學(xué)生用書第2頁/共60頁預(yù)習(xí)檢查簡述Java語言的幾種流程控制結(jié)構(gòu)。舉例說明,循環(huán)結(jié)構(gòu)用于解決哪些問題?循環(huán)結(jié)構(gòu)中使用了哪些關(guān)鍵字?分別描述幾種跳轉(zhuǎn)語句的使用范圍。提問第3頁/共60頁本章任務(wù)任務(wù)1:判斷成績?nèi)≈捣秶蝿?wù)2:計算若干名學(xué)生每人5門課程的平均分第4頁/共60頁第4頁/共60頁掌握各種選擇結(jié)構(gòu)的語法及用法掌握各種循環(huán)結(jié)構(gòu)的語法及用法掌握多分支if語句的語法及用法掌握多重循環(huán)結(jié)構(gòu)的語法及用法本章目標(biāo)點(diǎn)重點(diǎn)難點(diǎn)重第5頁/共60頁點(diǎn)難熟練使用程序調(diào)試技巧理解break和continue的區(qū)別理解while和do-while的區(qū)別if(條件){//代碼塊}if選擇結(jié)構(gòu)是根據(jù)條件判斷結(jié)果選擇不同的處理基本的if選擇結(jié)構(gòu)
串講:基本的if選擇結(jié)構(gòu)語法示例if(王梁的Java考試成績>90){
//獲得一個iPhone5作為獎勵;}只有一條語句時,建議不省略{}第6頁/共60頁importjava.util.Scanner;publicclassGetPrize{ publicstaticvoidmain(String[]args){ Scannerinput=newScanner(System.in); System.out.print("輸入王梁的Java成績:");//提示輸入成績
intscore=input.nextInt(); //從控制臺獲取王梁的成績
if(score>90){ //判斷是否大于90分
System.out.println("老師說:不錯,獎勵一個iPhone5!"); } }}串講:基本的if選擇結(jié)構(gòu)如果王梁的Java考試成績大于90分,王梁就能獲得一個iPhone5作為獎勵示例第7頁/共60頁
分析:怎樣把多個條件連接起來?
使用邏輯運(yùn)算符串講:使用復(fù)雜條件的if選擇結(jié)構(gòu)2-1王梁Java成績大于90分,并且音樂成績大于80分時,或者Java成績等于100分,音樂成績大于70分時,老師獎勵他,該怎么做呢?問題運(yùn)算符表達(dá)式說明&&條件1&&條件2僅僅兩個條件同時為真,結(jié)果為真||條件1||條件2只要兩個條件有一個為真,結(jié)果為真!!條件條件為真時,結(jié)果為假條件為假時,結(jié)果為真第8頁/共60頁 intscore1=100;//王梁的Java成績
intscore2=72;//王梁的音樂成績
if((score1>90&&score2>80)
||
(score1==100&&score2>70)){ System.out.println("老師說:不錯,獎勵一個iPhone5!"); }串講:使用復(fù)雜條件的if選擇結(jié)構(gòu)2-2示例演示示例:復(fù)雜條件下的if選擇結(jié)構(gòu)第9頁/共60頁提問剛才問題的條件應(yīng)該怎么寫呢?運(yùn)算符的優(yōu)先級最高的優(yōu)先級:()最低的優(yōu)先級:=優(yōu)先級順序:!>算術(shù)運(yùn)算符>比較運(yùn)算符>&&>||if-else選擇結(jié)構(gòu)串講:使用if-else選擇結(jié)構(gòu)2-1語法示例if(條件){//代碼塊1}else{//代碼塊2}if(王梁Java成績>98){
//獎勵一個iPhone5;}else{//懲罰當(dāng)眾唱歌}第10頁/共60頁如果王梁Java考試成績大于98分,老師就獎勵他一個iPhone5,否則老師就罰他當(dāng)眾唱歌串講:使用if-else選擇結(jié)構(gòu)2-2示例publicstaticvoidmain(String[]args){ intscore=91;//王梁的Java成績
if(score>98
){ System.out.println("老師說:不錯,獎勵一個iPhone5!");
}else{ System.out.println("老師說:懲罰當(dāng)眾唱歌!");
}}演示示例:使用if-else結(jié)構(gòu)第11頁/共60頁上機(jī)練習(xí)需求說明如果成績大于等于60分,輸出“成績及格。”否則輸出“成績不及格?!蓖瓿蓵r間:5分鐘共性問題集中講解練習(xí)第12頁/共60頁講解:多分支if語句語法語法
if
(條件1){//代碼塊1
}
elseif
(條件2)
{//代碼塊2
}else
{//代碼塊3
}可以有多個可以省略第13頁/共60頁提問如果要實(shí)現(xiàn)以下功能,該怎么做呢?對學(xué)員的結(jié)業(yè)考試成績進(jìn)行評測成績>=90 輸出:優(yōu)秀成績>=80 輸出:良好成績>=60 輸出:中等成績<60 輸出:差
int
score=70;//考試成績
if(score>=90){
System.out.println("優(yōu)秀");}
elseif(score>=80){
System.out.println("良好");}
elseif(score>=60){
System.out.println("中等");}
else{
System.out.println("差");}大于等于90分大于等于60分,小于80分小于60分大于等于80分,小于90分講解:多分支if語句示例2-1演示示例:使用多分支if語句1第14頁/共60頁關(guān)鍵代碼
intmoney=52;//我的存款,單位:萬元
if(money>=500){
System.out.println("太好了,我可以買凱迪拉克"); }else
if(money>=100){
System.out.println("不錯,我可以買輛帕薩特"); }else
if(money>=50){
System.out.println("我可以買輛依蘭特"); }else
if(money>=10){
System.out.println("至少我可以買個奧托"); }else{
System.out.println("看來,我只能買個捷安特了"); }
講解:多分支if語句示例2-2各個條件的順序可以任意排列嗎?演示示例:使用多分支if語句2第15頁/共60頁提問我想買車,買什么車決定于我在銀行有多少存款:如果我的存款超過500萬,我就買凱迪拉克否則,如果我的存款超過100萬,我就買帕薩特否則,如果我的存款超過50萬,我就買依蘭特否則,如果我的存款超過10萬,我就買奧托否則,我買捷安特。以上需求,如何用程序?qū)崿F(xiàn)呢?使用多分支if語句處理問題時需要注意順序上機(jī)練習(xí)練習(xí)需求說明如果成績大于等于90分且小于等于100分,輸出“A級”;如果大于等于80分,輸出“B級”;如果大于等于70分,輸出“C級”;如果大于等于60分,輸出“D級”;低于60分輸出“E級”完成時間:10分鐘共性問題集中講解第16頁/共60頁
if(條件1){if(條件2){
代碼塊1}else{
代碼塊2}}else{
代碼塊3}內(nèi)層選擇結(jié)構(gòu)講解:嵌套if選擇結(jié)構(gòu)語法第17頁/共60頁嵌套if控制語句可以通過外層語句和內(nèi)層語句的協(xié)作,增強(qiáng)程序的靈活性語法提問如果要實(shí)現(xiàn)以下功能,該怎么做呢?學(xué)校舉行運(yùn)動會,百米賽跑跑入10秒內(nèi)的學(xué)生有資格進(jìn)決賽,根據(jù)性別分別進(jìn)入男子組和女子組if
(score<=10)
{ if(gender.equals("男"))
{
System.out.println("進(jìn)入男子組決賽!"); }
elseif(gender.equals("女"))
{
System.out.println("進(jìn)入女子組決賽!"); }}
else
{
System.out.println("淘汰!");}
講解:嵌套if控制語句示例外層選擇結(jié)構(gòu)內(nèi)層選擇結(jié)構(gòu)演示示例:使用嵌套if控制語句第18頁/共60頁關(guān)鍵代碼上機(jī)練習(xí)練習(xí)需求說明如果今天是周六或周日,打算外出。如果氣溫在30度以上,去游泳;否則就去爬山如果今天不是周六或周日,就要工作。如果天氣好,去客戶單位談業(yè)務(wù);否則,在公司上網(wǎng)查資料完成時間:15分鐘共性問題集中講解第19頁/共60頁switch(表達(dá)式){
case
常量1:
語句;
break;
case
常量2:
語句;
break; …
default:
語句;}串講:switch選擇結(jié)構(gòu)語法表達(dá)式可以是int、short、byte、char和枚舉類型如果等于常量1
如果等于常量2
如果沒有找到匹配的值
語法第20頁/共60頁intmingCi=1;switch(mingCi){ case
1:System.out.println("參加麻省理工大學(xué)組織的1個月夏令營");
break;
case
2:System.out.println("獎勵惠普筆記本電腦一部");
break;
case
3:System.out.println("獎勵移動硬盤一個");
break;
default:System.out.println("沒有任何獎勵
");}第一名的情況下第二名的情況下第三名的情況下其他情況下串講:switch語句示例使用switch語句解決問題示例演示示例:使用switch語句第21頁/共60頁intmingCi=1;switch(mingCi){ case
1:System.out.println("參加麻省理工大學(xué)組織的1個月夏令營");
case2:System.out.println("獎勵惠普筆記本電腦一部");
case3:System.out.println("獎勵移動硬盤一個");
default:System.out.println("沒有任何獎勵
");}輸出結(jié)果是什么?串講:常見錯誤4-1如果需要每個case執(zhí)行完后跳出,在每個case后不要忘記寫break常見問題第22頁/共60頁int
mingCi=1;switch(mingCi){
case1:System.out.println("參加麻省理工大學(xué)組織的1個月夏令營");
case2:System.out.println("獎勵惠普筆記本電腦一部");
case2:System.out.println("獎勵移動硬盤一個");
default:System.out.println("沒有任何獎勵");}常量值重復(fù)串講:常見錯誤4-2常見問題第23頁/共60頁int
mingCi=6;switch(mingCi){
default:System.out.println("沒有任何獎勵");
case1:System.out.println("參加麻省理工大學(xué)組織的1個月夏令營");
case2:System.out.println("獎勵惠普筆記本電腦一部");
case3:System.out.println("獎勵移動硬盤一個");}串講:常見錯誤4-3輸出結(jié)果是什么?default塊順序可以變動,但要注意其執(zhí)行順序。通常,default塊放在末尾,也可以省略常見問題第24頁/共60頁Stringday="星期一";switch(day){
case"星期一":System.out.println("星期一:青菜");
break;
case"星期二":System.out.println("星期二:魚");
break;……
default:……}switch后面小括號中表達(dá)式的值不能是String類型代碼錯誤串講:常見錯誤4-4常見問題第25頁/共60頁相同點(diǎn)不同點(diǎn)switch選擇結(jié)構(gòu)只能處理等值條件判斷的情況多重if選擇結(jié)構(gòu)適合某個變量處于某個連續(xù)區(qū)間時的情況都是用來處理多分支條件的結(jié)構(gòu)串講:比較switch和多重if選擇結(jié)構(gòu)第26頁/共60頁上機(jī)練習(xí)練習(xí)需求說明使用switch語句實(shí)現(xiàn)成績評測A級:大于等于90分且小于等于100分;B級:大于等于80分;C級:大于等于70分;D級:大于等于60分;E級:低于60分完成時間:10分鐘共性問題集中講解第27頁/共60頁System.out.println("第1遍寫:好好學(xué)習(xí),天天向上!");System.out.println("第2遍寫:好好學(xué)習(xí),天天向上!");System.out.println("第3遍寫:好好學(xué)習(xí),天天向上!");System.out.println("第4遍寫:好好學(xué)習(xí),天天向上!");//……System.out.println("第9999遍寫:好好學(xué)習(xí),天天向上!");System.out.println("第10000遍寫:好好學(xué)習(xí),天天向上!");串講:循環(huán)結(jié)構(gòu)輸出10000遍“好好學(xué)習(xí),天天向上”該怎么做呢?使用while循環(huán)示例int
i=1;while(i<=10000){ System.out.println("第"+i+"遍寫:好好學(xué)習(xí),天天向上!");
i++;}演示示例:使用循環(huán)結(jié)構(gòu)解決問題第28頁/共60頁while(循環(huán)條件
){
循環(huán)操作}int
i=1;while(i<=10000
){ System.out.println("好好學(xué)習(xí)!"); i++;}特點(diǎn):先判斷,再執(zhí)行符合條件,循環(huán)繼續(xù)執(zhí)行;否則,循環(huán)退出循環(huán)中被重復(fù)執(zhí)行的操作循環(huán)操作循環(huán)條件真假串講:while循環(huán)語法語法第29頁/共60頁示例1.循環(huán)初始化2.循環(huán)條件3.循環(huán)操作4.循環(huán)變量的改變 System.out.print("合格了嗎?(y/n):"); Stringanswer=input.next();
while(!"y".equals(answer)){
System.out.println("上午閱讀教材!"); System.out.println("下午上機(jī)編程!\n"); System.out.print("合格了嗎?(y/n):");
answer=input.next();
} System.out.println("完成學(xué)習(xí)任務(wù)!");循環(huán)條件循環(huán)操作比較兩個String類型的值是否相等串講:怎樣使用while循環(huán)避免死循環(huán)演示示例:使用while循環(huán)結(jié)構(gòu)示例第30頁/共60頁上機(jī)練習(xí)練習(xí)需求說明計算1至100相加的和使用while實(shí)現(xiàn)提示定義總和變量定義循環(huán)變量依次取1到100之間的每個數(shù)完成時間:5分鐘共性問題集中講解第31頁/共60頁while(循環(huán)條件){
循環(huán)操作}經(jīng)過幾天的學(xué)習(xí),老師給王梁一道測試題,讓他先上機(jī)編寫程序,然后老師檢查是否合格。如果不合格,則繼續(xù)編寫。while循環(huán)先判斷,再執(zhí)行不適合描述此故事串講:do-while循環(huán)如何用程序講述下面的故事?問題do{
循環(huán)操作}while(循環(huán)條件);第32頁/共60頁?do{
循環(huán)操作}while(循環(huán)條件
);先執(zhí)行一遍循環(huán)操作符合條件,循環(huán)繼續(xù)執(zhí)行;否則,循環(huán)退出循環(huán)操作循環(huán)條件真假串講:do-while循環(huán)語法特點(diǎn):先執(zhí)行,再判斷分號不可少語法第33頁/共60頁
do{ System.out.println("上機(jī)編寫程序!"); System.out.print("合格了嗎?(y/n)"); answer=input.next(); }while(!"y".equals(answer));
System.out.println("恭喜你通過了測試!");循環(huán)條件先執(zhí)行一遍循環(huán)操作串講:怎樣使用do-while循環(huán)演示示例:使用do-while循環(huán)結(jié)構(gòu)示例第34頁/共60頁do{
循環(huán)操作}while(循環(huán)條件);while
(循環(huán)條件){
循環(huán)操作}while循環(huán)和do-while循環(huán)的區(qū)別語法不同執(zhí)行順序不同
初始情況不滿足循環(huán)條件時while循環(huán)一次都不會執(zhí)行do-while循環(huán)不管任何情況都至少執(zhí)行一次先判斷,再執(zhí)行先執(zhí)行,再判斷串講:比較while和do-while第35頁/共60頁上機(jī)練習(xí)練習(xí)需求說明計算1至100相加的和使用do-while實(shí)現(xiàn)提示代碼和使用while語句實(shí)現(xiàn)基本相同先執(zhí)行循環(huán)體再判斷循環(huán)條件完成時間:5分鐘共性問題集中講解第36頁/共60頁intsum=0;for(inti=1;i<=100;i++){sum+=i;}System.out.println("sum="+sum);串講:for循環(huán)2-1第37頁/共60頁提問上一頁的練習(xí)可以用for循環(huán)實(shí)現(xiàn)嗎?提問for循環(huán)這樣寫有錯嗎?for(;;){}關(guān)鍵代碼for(inti=0,j=val;i<=val;i++,j--){System.out.println(i+"+"+j+"="+(i+j));}串講:for循環(huán)2-2輸出加法表1.循環(huán)初始化:i=0;j=輸入值2.循環(huán)條件:i<=輸入值3.循環(huán)操作:計算i+j4.循環(huán)變量的改變:i++,j--表達(dá)式3可以是用“,”隔開的多個表達(dá)式,運(yùn)算順序從左到右表達(dá)式1中可以聲明多個同一類型的值并賦值,用“,”隔開問題分析演示示例:使用for循環(huán)結(jié)構(gòu)輸出加法表第38頁/共60頁上機(jī)練習(xí)練習(xí)需求說明輸入一名學(xué)生姓名和他的5門課的成績,求平均分并顯示提示使用for循環(huán)和Scanner類的nextInt()方法,獲得這名學(xué)生5門課的成績完成時間:10分鐘共性問題集中講解第39頁/共60頁小結(jié)區(qū)別1:語法區(qū)別2:執(zhí)行順序while
循環(huán):先判斷,再執(zhí)行do-while循環(huán):先執(zhí)行,再判斷for循環(huán):先判斷,再執(zhí)行區(qū)別3:適用情況循環(huán)次數(shù)確定的情況,通常選用for循環(huán)循環(huán)次數(shù)不確定的情況,通常選用while和do-while循環(huán)小結(jié)第40頁/共60頁while(循環(huán)條件1){//循環(huán)操作1
for(循環(huán)條件2){ //循環(huán)操作2 }}while(循環(huán)條件1){//循環(huán)操作1
while(循環(huán)條件2){//循環(huán)操作2}}講解:多重循環(huán)語法一個循環(huán)體內(nèi)又包含另一個完整的循環(huán)結(jié)構(gòu)外層循環(huán)內(nèi)層循環(huán)外層循環(huán)變量變化一次,內(nèi)層循環(huán)變量要變化一遍各種循環(huán)可以相互嵌套語法do{//循環(huán)操作1
do{//循環(huán)操作2}while(循環(huán)條件2);}while(循環(huán)條件1);for(循環(huán)條件1){//循環(huán)操作1
for(循環(huán)條件2){//循環(huán)操作2}}第41頁/共60頁上機(jī)練習(xí)需求說明計算若干個學(xué)生5門課的平均分提示外循環(huán)每循環(huán)一次處理一個學(xué)生內(nèi)循環(huán)則處理一個學(xué)生的5門課成績練習(xí)完成時間:10分鐘共性問題集中講解第42頁/共60頁inti=2;switch(i){case1:System.out.println("星期一");break;case2:System.out.println("星期二");break;}//其他語句遇到break,立即跳出switch語句回顧break用于switch語句描述4000米長跑比賽for(inti=0;i<10;i++){//跑4000米;}
if(不能堅持)
{break;//退出比賽
}第8圈,快累死了…我要退出…串講:break語句示例第43頁/共60頁改變程序控制流用于do-while、while、for循環(huán)中,可跳出循環(huán)而執(zhí)行循環(huán)后面的語句while(…){………………break;………………}跳出當(dāng)前循環(huán)break通常在循環(huán)中與條件語句一起使用串講:break語句語法語法第44頁/共60頁上機(jī)練習(xí)練習(xí)需求說明打印1到10個數(shù),遇到4的倍數(shù)程序自動退出提示如果i%4==0,則執(zhí)行break命令完成時間:5分鐘共性問題集中講解第45頁/共60頁for(inti=0;i<10;i++){
跑400米;
if(!口渴){
continue;//不喝水,繼續(xù)跑
}
接過水壺,喝水;}只能在循環(huán)中使用作用:跳過循環(huán)體中剩余的語句而執(zhí)行下一次循環(huán)while(…){………………
continue;…………}繼續(xù)下一次循環(huán)通常與條件語句一起使用,加速循環(huán)示例串講:continue語句語法第46頁/共60頁
for(inti=0;i<total;i++){ System.out.print("請輸入第"+(i+1)+"位學(xué)生的成績:"); score=input.nextInt(); if(score<80){
continue; } num++;}//省略計算和輸出語句對錄入的分?jǐn)?shù)進(jìn)行判斷,如果小于80,跳出本次循環(huán),執(zhí)行下一次循環(huán)串講:continue語句示例示例演示示例:使用continue語句第47頁/共60頁使用場合break可用于switch結(jié)構(gòu)和循環(huán)結(jié)構(gòu)中continue只能用于循環(huán)結(jié)構(gòu)中作用(循環(huán)結(jié)構(gòu)中)break語句終止某個循環(huán),程序跳轉(zhuǎn)到循環(huán)塊外的下一條語句continue跳出
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026河南駐馬店市市直機(jī)關(guān)遴選公務(wù)員8人備考題庫(含答案詳解)
- 2025遼寧鐵嶺市事業(yè)單位招聘動物檢疫崗位人員77人備考題庫及答案詳解(奪冠系列)
- 2025中國地質(zhì)大學(xué)(武漢)人力資源部校內(nèi)招聘1人備考題庫(湖北)帶答案詳解
- 2025河北邯鄲邯山區(qū)第二批招聘社區(qū)工作者20人備考題庫(含答案詳解)
- 2026年1月江蘇揚(yáng)州市教育系統(tǒng)事業(yè)單位招聘教師30人備考題庫附答案詳解
- 生產(chǎn)科庫房管理制度
- 洗水廠生產(chǎn)管理制度
- 口罩廠生產(chǎn)線管理制度
- 生產(chǎn)型研發(fā)制度
- 生產(chǎn)力決定經(jīng)濟(jì)制度
- 大數(shù)據(jù)安全技術(shù)與管理
- 2026年中小學(xué)校長校園安全管理培訓(xùn)考試題及答案
- 2025年山東建筑大學(xué)思想道德修養(yǎng)與法律基礎(chǔ)期末考試模擬題必考題
- 除塵布袋更換施工方案
- 養(yǎng)老護(hù)理員培訓(xùn)演示文稿
- 深圳加油站建設(shè)項目可行性研究報告
- 浙江省交通設(shè)工程質(zhì)量檢測和工程材料試驗收費(fèi)標(biāo)準(zhǔn)版浙價服定稿版
- 紅樓夢研究最新課件
- 給紀(jì)檢監(jiān)察部門舉報材料
- 低壓電工安全技術(shù)操作規(guī)程
評論
0/150
提交評論