第3章流程控制1授課_第1頁
第3章流程控制1授課_第2頁
第3章流程控制1授課_第3頁
第3章流程控制1授課_第4頁
第3章流程控制1授課_第5頁
已閱讀5頁,還剩55頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第三章流程控制第一單元第1頁/共60頁本章相關學習資源《流程控制》專題《使用Java實現(xiàn)面向?qū)ο缶幊獭返?章《流程控制》學習平臺“Java基礎語法”課程學生用書第2頁/共60頁預習檢查簡述Java語言的幾種流程控制結(jié)構(gòu)。舉例說明,循環(huán)結(jié)構(gòu)用于解決哪些問題?循環(huán)結(jié)構(gòu)中使用了哪些關鍵字?分別描述幾種跳轉(zhuǎn)語句的使用范圍。提問第3頁/共60頁本章任務任務1:判斷成績?nèi)≈捣秶蝿?:計算若干名學生每人5門課程的平均分第4頁/共60頁第4頁/共60頁掌握各種選擇結(jié)構(gòu)的語法及用法掌握各種循環(huán)結(jié)構(gòu)的語法及用法掌握多分支if語句的語法及用法掌握多重循環(huán)結(jié)構(gòu)的語法及用法本章目標點重點難點重第5頁/共60頁點難熟練使用程序調(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頁

分析:怎樣把多個條件連接起來?

使用邏輯運算符串講:使用復雜條件的if選擇結(jié)構(gòu)2-1王梁Java成績大于90分,并且音樂成績大于80分時,或者Java成績等于100分,音樂成績大于70分時,老師獎勵他,該怎么做呢?問題運算符表達式說明&&條件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!"); }串講:使用復雜條件的if選擇結(jié)構(gòu)2-2示例演示示例:復雜條件下的if選擇結(jié)構(gòu)第9頁/共60頁提問剛才問題的條件應該怎么寫呢?運算符的優(yōu)先級最高的優(yōu)先級:()最低的優(yōu)先級:=優(yōu)先級順序:!>算術運算符>比較運算符>&&>||if-else選擇結(jié)構(gòu)串講:使用if-else選擇結(jié)構(gòu)2-1語法示例if(條件){//代碼塊1}else{//代碼塊2}if(王梁Java成績>98){

//獎勵一個iPhone5;}else{//懲罰當眾唱歌}第10頁/共60頁如果王梁Java考試成績大于98分,老師就獎勵他一個iPhone5,否則老師就罰他當眾唱歌串講:使用if-else選擇結(jié)構(gòu)2-2示例publicstaticvoidmain(String[]args){ intscore=91;//王梁的Java成績

if(score>98

){ System.out.println("老師說:不錯,獎勵一個iPhone5!");

}else{ System.out.println("老師說:懲罰當眾唱歌!");

}}演示示例:使用if-else結(jié)構(gòu)第11頁/共60頁上機練習需求說明如果成績大于等于60分,輸出“成績及格?!狈駝t輸出“成績不及格?!蓖瓿蓵r間:5分鐘共性問題集中講解練習第12頁/共60頁講解:多分支if語句語法語法

if

(條件1){//代碼塊1

}

elseif

(條件2)

{//代碼塊2

}else

{//代碼塊3

}可以有多個可以省略第13頁/共60頁提問如果要實現(xiàn)以下功能,該怎么做呢?對學員的結(jié)業(yè)考試成績進行評測成績>=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頁關鍵代碼

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語句處理問題時需要注意順序上機練習練習需求說明如果成績大于等于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é)作,增強程序的靈活性語法提問如果要實現(xiàn)以下功能,該怎么做呢?學校舉行運動會,百米賽跑跑入10秒內(nèi)的學生有資格進決賽,根據(jù)性別分別進入男子組和女子組if

(score<=10)

{ if(gender.equals("男"))

{

System.out.println("進入男子組決賽!"); }

elseif(gender.equals("女"))

{

System.out.println("進入女子組決賽!"); }}

else

{

System.out.println("淘汰!");}

講解:嵌套if控制語句示例外層選擇結(jié)構(gòu)內(nèi)層選擇結(jié)構(gòu)演示示例:使用嵌套if控制語句第18頁/共60頁關鍵代碼上機練習練習需求說明如果今天是周六或周日,打算外出。如果氣溫在30度以上,去游泳;否則就去爬山如果今天不是周六或周日,就要工作。如果天氣好,去客戶單位談業(yè)務;否則,在公司上網(wǎng)查資料完成時間:15分鐘共性問題集中講解第19頁/共60頁switch(表達式){

case

常量1:

語句;

break;

case

常量2:

語句;

break; …

default:

語句;}串講:switch選擇結(jié)構(gòu)語法表達式可以是int、short、byte、char和枚舉類型如果等于常量1

如果等于常量2

如果沒有找到匹配的值

語法第20頁/共60頁intmingCi=1;switch(mingCi){ case

1:System.out.println("參加麻省理工大學組織的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("參加麻省理工大學組織的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("參加麻省理工大學組織的1個月夏令營");

case2:System.out.println("獎勵惠普筆記本電腦一部");

case2:System.out.println("獎勵移動硬盤一個");

default:System.out.println("沒有任何獎勵");}常量值重復串講:常見錯誤4-2常見問題第23頁/共60頁int

mingCi=6;switch(mingCi){

default:System.out.println("沒有任何獎勵");

case1:System.out.println("參加麻省理工大學組織的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后面小括號中表達式的值不能是String類型代碼錯誤串講:常見錯誤4-4常見問題第25頁/共60頁相同點不同點switch選擇結(jié)構(gòu)只能處理等值條件判斷的情況多重if選擇結(jié)構(gòu)適合某個變量處于某個連續(xù)區(qū)間時的情況都是用來處理多分支條件的結(jié)構(gòu)串講:比較switch和多重if選擇結(jié)構(gòu)第26頁/共60頁上機練習練習需求說明使用switch語句實現(xiàn)成績評測A級:大于等于90分且小于等于100分;B級:大于等于80分;C級:大于等于70分;D級:大于等于60分;E級:低于60分完成時間:10分鐘共性問題集中講解第27頁/共60頁System.out.println("第1遍寫:好好學習,天天向上!");System.out.println("第2遍寫:好好學習,天天向上!");System.out.println("第3遍寫:好好學習,天天向上!");System.out.println("第4遍寫:好好學習,天天向上!");//……System.out.println("第9999遍寫:好好學習,天天向上!");System.out.println("第10000遍寫:好好學習,天天向上!");串講:循環(huán)結(jié)構(gòu)輸出10000遍“好好學習,天天向上”該怎么做呢?使用while循環(huán)示例int

i=1;while(i<=10000){ System.out.println("第"+i+"遍寫:好好學習,天天向上!");

i++;}演示示例:使用循環(huán)結(jié)構(gòu)解決問題第28頁/共60頁while(循環(huán)條件

){

循環(huán)操作}int

i=1;while(i<=10000

){ System.out.println("好好學習!"); i++;}特點:先判斷,再執(zhí)行符合條件,循環(huán)繼續(xù)執(zhí)行;否則,循環(huán)退出循環(huán)中被重復執(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("下午上機編程!\n"); System.out.print("合格了嗎?(y/n):");

answer=input.next();

} System.out.println("完成學習任務!");循環(huán)條件循環(huán)操作比較兩個String類型的值是否相等串講:怎樣使用while循環(huán)避免死循環(huán)演示示例:使用while循環(huán)結(jié)構(gòu)示例第30頁/共60頁上機練習練習需求說明計算1至100相加的和使用while實現(xiàn)提示定義總和變量定義循環(huán)變量依次取1到100之間的每個數(shù)完成時間:5分鐘共性問題集中講解第31頁/共60頁while(循環(huán)條件){

循環(huán)操作}經(jīng)過幾天的學習,老師給王梁一道測試題,讓他先上機編寫程序,然后老師檢查是否合格。如果不合格,則繼續(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)語法特點:先執(zhí)行,再判斷分號不可少語法第33頁/共60頁

do{ System.out.println("上機編寫程序!"); 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頁上機練習練習需求說明計算1至100相加的和使用do-while實現(xiàn)提示代碼和使用while語句實現(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頁提問上一頁的練習可以用for循環(huán)實現(xiàn)嗎?提問for循環(huán)這樣寫有錯嗎?for(;;){}關鍵代碼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--表達式3可以是用“,”隔開的多個表達式,運算順序從左到右表達式1中可以聲明多個同一類型的值并賦值,用“,”隔開問題分析演示示例:使用for循環(huán)結(jié)構(gòu)輸出加法表第38頁/共60頁上機練習練習需求說明輸入一名學生姓名和他的5門課的成績,求平均分并顯示提示使用for循環(huán)和Scanner類的nextInt()方法,獲得這名學生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頁上機練習需求說明計算若干個學生5門課的平均分提示外循環(huán)每循環(huán)一次處理一個學生內(nèi)循環(huán)則處理一個學生的5門課成績練習完成時間: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;………………}跳出當前循環(huán)break通常在循環(huán)中與條件語句一起使用串講:break語句語法語法第44頁/共60頁上機練習練習需求說明打印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)+"位學生的成績:"); score=input.nextInt(); if(score<80){

continue; } num++;}//省略計算和輸出語句對錄入的分數(shù)進行判斷,如果小于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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論