Java面向?qū)ο蟪绦蛟O(shè)計(jì) 課件 項(xiàng)目4 選擇結(jié)構(gòu)程序設(shè)計(jì)_第1頁
Java面向?qū)ο蟪绦蛟O(shè)計(jì) 課件 項(xiàng)目4 選擇結(jié)構(gòu)程序設(shè)計(jì)_第2頁
Java面向?qū)ο蟪绦蛟O(shè)計(jì) 課件 項(xiàng)目4 選擇結(jié)構(gòu)程序設(shè)計(jì)_第3頁
Java面向?qū)ο蟪绦蛟O(shè)計(jì) 課件 項(xiàng)目4 選擇結(jié)構(gòu)程序設(shè)計(jì)_第4頁
Java面向?qū)ο蟪绦蛟O(shè)計(jì) 課件 項(xiàng)目4 選擇結(jié)構(gòu)程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

項(xiàng)目4選擇結(jié)構(gòu)程序設(shè)計(jì)學(xué)習(xí)目標(biāo)知識(shí)技能目標(biāo):能正確使用關(guān)系表達(dá)式表示條件能正確使用邏輯表達(dá)式表示條件能正確使用if語句編寫程序能正確使用switch語句、switch表達(dá)式編寫程序職業(yè)素養(yǎng)目標(biāo):具備規(guī)范編碼的職業(yè)素養(yǎng),提高代碼的可讀性和可維護(hù)性具備持續(xù)學(xué)習(xí)和探索的精神,高效、簡(jiǎn)潔地實(shí)現(xiàn)條件控制課證融通學(xué)習(xí)內(nèi)容與“大數(shù)據(jù)應(yīng)用開發(fā)(Java)”職業(yè)技能等級(jí)標(biāo)準(zhǔn)(初級(jí))對(duì)應(yīng)關(guān)系工作任務(wù)職業(yè)技能要求1.2面向過程代碼編寫1.2.2能熟練運(yùn)用分支、循環(huán)等流程控制完成較復(fù)雜程序設(shè)計(jì)任務(wù)4.1判斷閏年還是平年1閏年(英文名稱:leapyear):陽歷或陰歷中有閏日的年,或陰陽歷中有閏月的年。閏年是為了彌補(bǔ)因人為歷法規(guī)定造成的年度天數(shù)與地球?qū)嶋H公轉(zhuǎn)周期的時(shí)間差而設(shè)立的。補(bǔ)上時(shí)間差的年份為閏年,閏年的二月有二十九天。判定公歷閏年應(yīng)遵循的一般規(guī)律為:四年一閏,百年不閏,四百年再閏。本任務(wù)要求,編程實(shí)現(xiàn)鍵盤輸入公歷年份,判斷并輸出這一年是閏年還是平年。任務(wù)詳解任務(wù)描述任務(wù)4.1判斷閏年還是平年1微課1-1Java前世今生技能點(diǎn)1:用關(guān)系表達(dá)式或者邏輯表達(dá)式表示條件計(jì)算機(jī)程序表示判斷和決策經(jīng)常會(huì)用到關(guān)系表達(dá)式和邏輯表達(dá)式。關(guān)系表達(dá)式用于比較兩個(gè)數(shù)值類型的數(shù)據(jù)的大小關(guān)系,如果關(guān)系成立,關(guān)系表達(dá)式的值為true,反之返回false。關(guān)系表達(dá)式和邏輯表達(dá)式常用于實(shí)現(xiàn)選擇結(jié)構(gòu)的if語句、while、do...while和for循環(huán)語句中。技術(shù)準(zhǔn)備任務(wù)4.1判斷閏年還是平年1微課1-1Java前世今生判斷偶數(shù)的條件是偶數(shù)對(duì)2取余等于0,對(duì)應(yīng)的關(guān)系表達(dá)式為:num%2==0案例:判斷一個(gè)數(shù)num是否為偶數(shù)水仙花數(shù)是指一個(gè)3位數(shù),它的每個(gè)位上的數(shù)字的3次冪之和等于它本身。判斷num是否是水仙花數(shù),要先取出其百位、十位和個(gè)位,再寫出對(duì)應(yīng)的關(guān)系表達(dá)式。取百位:n2=num/100

取十位:n1=num%100/10

取個(gè)位:n0=num%10判斷num為水仙花數(shù)的表達(dá)式:n2*n2*n2+n1*n1*n1+n0*n0*n0==num案例:判斷一個(gè)三位數(shù)num是否是水仙花數(shù)任務(wù)4.1判斷閏年還是平年1微課1-1Java前世今生判斷字符是否是大寫字母的條件是,如果字符ch在‘A’-‘Z’之間,那就是大寫字母。對(duì)應(yīng)的條件表達(dá)式為:ch>=’A’&&ch<=’Z’案例:判斷一個(gè)字符ch是否是大寫字母判定公歷閏年應(yīng)遵循的一般規(guī)律為:四年一閏,百年不閏,四百年再閏。也就是說year為閏年滿足以下條件之一:(1)能被4整除,但是不能被100整除(2)能被400整除對(duì)應(yīng)的條件表達(dá)式為:(year%4==0&&year%100!=0)||year%400==0案例:判斷一個(gè)年份year是否是閏年任務(wù)4.1判斷閏年還是平年1技能點(diǎn)2:用if語句實(shí)現(xiàn)條件判斷Java中實(shí)現(xiàn)選擇結(jié)構(gòu)可以用if語句和switch語句來實(shí)現(xiàn)。if語句有三種形式:簡(jiǎn)單if語句、if…else語句和if…elseif語句。1.簡(jiǎn)單if語句語法:if(條件表達(dá)式)

語句塊執(zhí)行流程:先判斷if后條件表達(dá)式的值,如果值為true,執(zhí)行語句塊,如果條件表達(dá)式的值為false,則不執(zhí)行語句塊。技術(shù)準(zhǔn)備if語句執(zhí)行流程任務(wù)4.1判斷閏年還是平年1微課1-1Java前世今生(1)條件表達(dá)式值的類型為boolean型,條件表達(dá)式可以是關(guān)系表達(dá)式或邏輯表達(dá)式if(3+5){System.out.println("3+5");}

不合法,3+5的值不是boolean類型(2)如果條件成立執(zhí)行的語句不止一條,需要加花括號(hào)。(3)if(條件表達(dá)式)后不應(yīng)該加分號(hào),如果加分號(hào),代表?xiàng)l件成立執(zhí)行的是空語句;使用說明:inta=90;if(a>100);

a++;System.out.println(a);第2行代碼后有分號(hào),分號(hào)代表空語句,如果a>100條件成立,執(zhí)行空語句。a++;語句無論條件是否成立都要執(zhí)行,因此,執(zhí)行完上述代碼后,a的值是91。任務(wù)4.1判斷閏年還是平年1微課1-1Java前世今生案例:編程實(shí)現(xiàn),鍵盤輸入一個(gè)數(shù),如果是偶數(shù)則輸出這個(gè)數(shù)教師演示第一步:在IDEA中新建一個(gè)Java項(xiàng)目第二步:編碼實(shí)現(xiàn)第三步:運(yùn)行并查看結(jié)果任務(wù)4.1判斷閏年還是平年1技能點(diǎn)2:用if語句實(shí)現(xiàn)條件判斷2.if…else語句語法:if(條件表達(dá)式){

語句塊1}else{

語句塊2}執(zhí)行流程:先計(jì)算條件表達(dá)式的值,如果值為true執(zhí)行語句塊1,否則執(zhí)行語句塊2。技術(shù)準(zhǔn)備if...else....語句執(zhí)行流程任務(wù)4.1判斷閏年還是平年1使用說明:(1)if…else語句,if的條件表達(dá)式后不能加分號(hào)。(2)每一個(gè)else語句都要有一個(gè)if語句和它匹配。if(a>b);

max=a;

else//報(bào)錯(cuò),提示沒有if和這個(gè)else匹配

max=b;第03行會(huì)報(bào)錯(cuò),提示沒有if與這個(gè)else匹配。任務(wù)4.1判斷閏年還是平年1行業(yè)編碼規(guī)范《阿里巴巴Java開發(fā)手冊(cè)》中對(duì)控制語句的要求:【強(qiáng)制】在if/else/for/while/do語句中必須使用大括號(hào)。即使只有一行代碼,避免采用單行的編碼方式:if(condition)statements;任務(wù)4.1判斷閏年還是平年1微課1-1Java前世今生案例:編程實(shí)現(xiàn),判斷一個(gè)三位數(shù)num是否是水仙花數(shù)教師演示第一步:在IDEA中新建一個(gè)Java項(xiàng)目第二步:編碼實(shí)現(xiàn)第三步:運(yùn)行并查看結(jié)果技能點(diǎn)3:用條件表達(dá)式表示簡(jiǎn)單選擇任務(wù)4.1判斷閏年還是平年1技術(shù)準(zhǔn)備Java中唯一的一個(gè)三目運(yùn)算符是條件運(yùn)算符,用條件運(yùn)算符可以進(jìn)行簡(jiǎn)單的條件判斷。該運(yùn)算符的優(yōu)先級(jí)較低,僅高于賦值運(yùn)算,結(jié)合性和賦值運(yùn)算符一樣,從右到左。語法:(表達(dá)式1)?表達(dá)式2:表達(dá)式3執(zhí)行流程:如果表達(dá)式1為true,則整個(gè)條件表達(dá)式的值為表達(dá)式2的值;否則,表達(dá)式的值為表達(dá)式3的值。任務(wù)實(shí)施任務(wù)4.1判斷閏年還是平年1第一步:識(shí)別程序中的輸入、處理和輸出程序的輸入:

程序要用到的變量:需要保存的數(shù)據(jù)數(shù)據(jù)類型變量名初值year

判斷閏年的條件:程序的輸出:任務(wù)實(shí)施任務(wù)4.1判斷閏年還是平年1第二步:算法設(shè)計(jì)第三步:編碼實(shí)現(xiàn)1.啟動(dòng)IDEA,單擊“File”->“New”->“Project...”菜單項(xiàng),彈出“NewProject”對(duì)話框中,輸入項(xiàng)目名稱,選擇JDK版本。2.根據(jù)算法設(shè)計(jì),編碼實(shí)現(xiàn)第四步:運(yùn)行和調(diào)試程序第五步:驗(yàn)證程序運(yùn)行結(jié)果AEBCD小組協(xié)作,完成任務(wù)評(píng)價(jià)測(cè)試任務(wù)4.1判斷閏年還是平年1評(píng)價(jià)指標(biāo)評(píng)價(jià)標(biāo)準(zhǔn)分值得分創(chuàng)建項(xiàng)目正確創(chuàng)建Java項(xiàng)目10

輸入正確輸入年份,用戶界面友好10

處理正確判斷是否是閏年30

輸出結(jié)果輸出結(jié)果正確,提示信息友好30

編碼規(guī)范變量命名規(guī)范、有合理的注釋20

拓展提升任務(wù)4.1判斷閏年還是平年1字符串就是Unicode字符序列,用雙引號(hào)括起來的0個(gè)或者多個(gè)字符。Java中沒有字符串類型,JDK中提供了String類用于表示字符串。每一個(gè)用雙引號(hào)括起來的字符串都代表一個(gè)String類的對(duì)象。Stringname="";Stringname="zhangsan";1.String類中常用的方法2.典型應(yīng)用(1)求字符串的子串

(2)字符串的連接

(3)判斷兩個(gè)字符串相等

(4)判斷字符串是否是空串(5)字符串拆分技能提升1——比較兩個(gè)字符串是否相等任務(wù)4.1判斷閏年還是平年1微課1-1Java前世今生案例:編寫程序,實(shí)現(xiàn)登錄驗(yàn)證教師演示第一步:在IDEA中新建一個(gè)Java項(xiàng)目第二步:分析輸入的核心語句第三步:編碼實(shí)現(xiàn)第四步:運(yùn)行并查看結(jié)果任務(wù)描述任務(wù)4.2基于BMI的健康檢測(cè)系統(tǒng)2BMI指數(shù)是身體質(zhì)量指數(shù)(簡(jiǎn)稱體質(zhì)指數(shù)),是國際上常用的衡量人體胖瘦程度以及是否健康的一個(gè)標(biāo)準(zhǔn),由19世紀(jì)中期的比利時(shí)通才凱特勒最先提出。計(jì)算公式為:BMI=體重÷身高2(體重單位:kg,身高單位:m)本任務(wù)要求:編程實(shí)現(xiàn),輸入身高(單位:米)和體重(單位:千克),計(jì)算BMI值,對(duì)照《BMI中國標(biāo)準(zhǔn)》并根據(jù)BMI范圍給出健康狀況提示。具體任務(wù)任務(wù)4.2基于BMI的健康檢測(cè)系統(tǒng)2技能點(diǎn):用if語句實(shí)現(xiàn)多分支技術(shù)準(zhǔn)備語法:if(條件表達(dá)式1){

語句塊1}elseif(條件表達(dá)式2){

語句塊2}...elseif(條件表達(dá)式n){

語句塊n}else{

語句塊n+1}執(zhí)行流程:先判斷條件表達(dá)式1的值,如果為true,執(zhí)行語句塊1,否則判斷條件表達(dá)式2的值,如果為true,執(zhí)行語句塊2,以此類推,否則判斷條件表達(dá)式n的值,如果為true,執(zhí)行語句塊n,否則執(zhí)行語句塊n+1。任務(wù)4.2基于BMI的健康檢測(cè)系統(tǒng)2案例:編程實(shí)現(xiàn),鍵盤輸入一個(gè)整數(shù),判斷是正數(shù)、負(fù)數(shù)還是零教師演示第一步:在IDEA中新建一個(gè)Java項(xiàng)目第二步:算法分析第三步:編碼實(shí)現(xiàn)第四步:運(yùn)行并查看結(jié)果任務(wù)實(shí)施任務(wù)4.2基于BMI的健康檢測(cè)系統(tǒng)2第一步:識(shí)別程序中的輸入、處理和輸出程序的輸入:身高和體重程序要用到的變量:計(jì)算BMI:bmi=weight/(height*height);程序的輸出:

根據(jù)bmi的取值輸出對(duì)應(yīng)結(jié)果需要保存的數(shù)據(jù)數(shù)據(jù)類型變量名初值身高doubleheight

體重doubleweight

保存BMIdoublebmi

任務(wù)實(shí)施任務(wù)4.2基于BMI的健康檢測(cè)系統(tǒng)2第二步:算法設(shè)計(jì)第三步:編碼實(shí)現(xiàn)1.新建Java項(xiàng)目2.根據(jù)算法設(shè)計(jì),編碼實(shí)現(xiàn)寫出實(shí)現(xiàn)身高和體重的語句:寫出計(jì)算bmi值的語句:寫出輸出結(jié)果的語句:第四步:運(yùn)行和調(diào)試程序第五步:驗(yàn)證程序運(yùn)行結(jié)果AEBCD小組協(xié)作,完成任務(wù)評(píng)價(jià)測(cè)試任務(wù)4.2基于BMI的健康檢測(cè)系統(tǒng)2評(píng)價(jià)指標(biāo)評(píng)價(jià)標(biāo)準(zhǔn)分值得分創(chuàng)建項(xiàng)目正確創(chuàng)建Java項(xiàng)目10

輸入正確輸入身高和體重,用戶界面友好10

處理正確計(jì)算bmi的值30

輸出結(jié)果輸出結(jié)果正確,提示信息友好30

編碼規(guī)范變量命名規(guī)范、有合理的注釋20

拓展提升——生成隨機(jī)數(shù)任務(wù)4.2基于BMI的健康檢測(cè)系統(tǒng)2JDK中java.util包下的Random類可以生成偽隨機(jī)數(shù)。具體用法:1.創(chuàng)建一個(gè)Random類的對(duì)象Randomrand=newRandom();2.生成隨機(jī)數(shù)(1)生成0~10之間的整數(shù),包含0但不包含10intn=rand.nextInt(10);(2)生成50~100之間的整數(shù),包含50,不包含100intn=rand.nextInt(100-50)+50;(3)生成0.0~1.0之間的隨機(jī)浮點(diǎn)數(shù),包含0.0,不包含1.0doubled=rand.nextDouble();任務(wù)4.2基于BMI的健康檢測(cè)系統(tǒng)2案例:設(shè)計(jì)并實(shí)現(xiàn)一個(gè)程序,用于模擬一臺(tái)簡(jiǎn)單的老虎機(jī)教師演示第一步:識(shí)別程序的輸入第二步:為三個(gè)數(shù)賦[0,9]的隨機(jī)值第三步:編碼實(shí)現(xiàn)第四步:運(yùn)行程序,驗(yàn)證結(jié)果任務(wù)描述任務(wù)4.3用switch語句實(shí)現(xiàn)剪刀石頭布游戲3石頭剪刀布是一種廣泛流傳于中國民間的古老游戲,也深受孩子們的喜愛。這個(gè)游戲的主要目的是為了解決爭(zhēng)議,因?yàn)槭^、剪刀和布三者之間相互制約,所以不論平局多少次,總會(huì)有勝負(fù)的時(shí)候。游戲規(guī)則是,石頭能夠克制剪刀,剪刀能夠克制布,而布則能克制石頭。本任務(wù)要求:編程實(shí)現(xiàn),玩家選擇石頭、剪刀或者布和計(jì)算機(jī)隨機(jī)選擇,然后根據(jù)石頭剪刀布的規(guī)則判斷勝負(fù)。如果玩家和計(jì)算機(jī)的選擇相同,那么就是平局。提示:1表示石頭,2表示剪刀,3表示布。具體任務(wù)任務(wù)4.3用switch語句實(shí)現(xiàn)剪刀石頭布游戲3技能點(diǎn)1:switch語句實(shí)現(xiàn)多分支結(jié)構(gòu)if...elseif...else語句可以實(shí)現(xiàn)多分支程序,但當(dāng)分支比較多時(shí),if...elseif...會(huì)顯得比較臃腫。用switch語句可以讓程序變得更簡(jiǎn)潔,特別是JDK14之后的版本實(shí)現(xiàn)起來更簡(jiǎn)單。技術(shù)準(zhǔn)備JDK14之后的新特性語法:switch(表達(dá)式){case常量表達(dá)式1->語句塊1;case常量表達(dá)式2->語句塊2;......default->語句塊n+1;}執(zhí)行流程:先計(jì)算表達(dá)式的值,再判斷其值和哪個(gè)case后的常量表達(dá)式的值相等,如果相等,執(zhí)行該case后的語句塊,switch語句結(jié)束;如果不相等,執(zhí)行default后的語句塊。任務(wù)4.3用switch語句實(shí)現(xiàn)剪刀石頭布游戲3技能點(diǎn)1:switch語句實(shí)現(xiàn)多分支結(jié)構(gòu)技術(shù)準(zhǔn)備使用說明:(1)case后執(zhí)行的語句塊不止一條語句,需要用花括號(hào)括起來。(2)switch語句的新特性中,保證只有一條路徑被執(zhí)行,case后的語句塊后不需要break語句。(3)switch后的表達(dá)式可以是char、byte、short、int、String類型。(4)case后的常量表達(dá)式的值不允許重復(fù)。(5)case后的表達(dá)式的類型可以是char、byte、short、int類型的常量表達(dá)式,字符串常量,枚舉常量。(6)case后可以跟多個(gè)值,中間用逗號(hào)分隔。任務(wù)4.3用switch語句實(shí)現(xiàn)剪刀石頭布游戲3案例:鍵盤輸入1,2,3輸出其分別其代表的含義,1代表石頭,2代表剪刀,3代表布教師演示第一步:新建項(xiàng)目第二步:算法設(shè)計(jì)第三步:編碼實(shí)現(xiàn)第四步:運(yùn)行測(cè)試任務(wù)4.3用switch語句實(shí)現(xiàn)剪刀石頭布游戲3案例:鍵盤輸入分?jǐn)?shù),輸出對(duì)應(yīng)的等級(jí)教師演示第一步:新建項(xiàng)目第二步:算法設(shè)計(jì)第三步:編碼實(shí)現(xiàn)第四步:運(yùn)行測(cè)試任務(wù)4.3用switch語句實(shí)現(xiàn)剪刀石頭布游戲3技能點(diǎn)1:switch語句實(shí)現(xiàn)多分支結(jié)構(gòu)JDK14之前的switch稱之為“經(jīng)典”switch,從JDK1.0開始采用這種形式,和C語言的switch用法保持一致技術(shù)準(zhǔn)備語法:switch(表達(dá)式){case常量表達(dá)式1:語句塊1;case常量表達(dá)式2:語句塊2;......default:語句塊n+1;}執(zhí)行流程:首先計(jì)算表達(dá)式的值。并逐個(gè)與其后的常量表達(dá)式值相比較,當(dāng)表達(dá)式的值與某個(gè)常量表達(dá)式的值相等時(shí),即執(zhí)行其后的語句,遇到break語句或者switch語句結(jié)束為止。如表達(dá)式的值與所有case后的常量表達(dá)式均不相同時(shí),則執(zhí)行default后的語句。技能點(diǎn)2:用無直通行為的switch表達(dá)式實(shí)現(xiàn)多分支任務(wù)4.3用switch語句實(shí)現(xiàn)剪刀石頭布游戲3JDK14中還增加了switch表達(dá)式,每個(gè)分支必須生成一個(gè)值,如果分支后是語句,需要用yield生成一個(gè)值。switch表達(dá)式中有兩種形式,一種是有直通行為的,另一種是無直通行為。有直通行為的switch表達(dá)式,case后用冒號(hào)結(jié)束,無直通行為的switch表達(dá)式,case后用->結(jié)束。技術(shù)準(zhǔn)備技能點(diǎn)2:用無直通行為的switch表達(dá)式實(shí)現(xiàn)多分支任務(wù)4.3用switch語句實(shí)現(xiàn)剪刀石頭布游戲31.無直通行為的switch表達(dá)式語法:數(shù)據(jù)類型變量名=switch(表達(dá)式){case常量表達(dá)式1->表達(dá)式1;case常量表達(dá)式2->表達(dá)式2;......default->表達(dá)式n+1;}技術(shù)準(zhǔn)備執(zhí)行流程:先計(jì)算switch后的表達(dá)式的值,找到和case后匹配的值相同的分支,將其后的表達(dá)式的值賦給變量,如果沒有一個(gè)case后的值與之匹配,將default后的表達(dá)式的值賦給變量。技能點(diǎn)2:用無直通行為的switch表達(dá)式實(shí)現(xiàn)多分支任務(wù)4.3用switch語句實(shí)現(xiàn)剪刀石頭布游戲3技術(shù)準(zhǔn)備示例代碼:chargrade=switch(score/10){case10,9->'A';case8,7->'B';case6->'C';default->'D';};System.out.println(grade);代碼解析:當(dāng)score的值為[90,100],將'A'賦給grade變量;當(dāng)score的值為[70,90),將'B'賦給grade變量;當(dāng)score的值為[60,70),將'C'賦給grade變量;當(dāng)score的值為[0,60),將'D'賦給grade變量。技能點(diǎn)2:用無直通行為的switch表達(dá)式實(shí)現(xiàn)多分支任務(wù)4.3用switch語句實(shí)現(xiàn)剪刀石頭布游戲3技術(shù)準(zhǔn)備語法:數(shù)據(jù)類型

變量名=switch(表達(dá)式){case常量表達(dá)式1->表達(dá)式1或者{語句;yield表達(dá)式1};case常量表達(dá)式2->表達(dá)式2或者{語句;yield表達(dá)式2};......default->表達(dá)式n+1或者{語句;yield表達(dá)式n+1};}2.switch和yield的使用如果switch表達(dá)式中case分支跟的是語句,則需要用yield終止switch表達(dá)式并返回其后的值。技能點(diǎn)2:用無直通行為的switch表達(dá)式實(shí)現(xiàn)多分支任務(wù)4.3用switch語句實(shí)現(xiàn)剪刀石頭布游戲3技術(shù)準(zhǔn)備執(zhí)行流程:先計(jì)算switch后的表達(dá)式的值,找到和case后匹配的值相同的分支,將其后的表達(dá)式的值賦給變量,如果case的->后不是表達(dá)式,執(zhí)行語句,將yield后的值賦給變量。示例代碼:publicstaticvoidmain(String[]args){Stringselect="石頭";intchoice;choice=switch(select){case"石頭"->1;case"剪刀"->2;case"布"->3;default->{System.out.println("輸入無效");yield-1;}};System.out.println(choice);}技能點(diǎn)2:用無直通行為的switch表達(dá)式實(shí)現(xiàn)多分支任務(wù)4.3用switch語句實(shí)現(xiàn)剪刀石頭布游戲32.switch和yield的使用如果switch表達(dá)式中case分支跟的是語句,則需要用yield終止switch表達(dá)式并返回其后的值。語法:數(shù)據(jù)類型變量名=switch(表達(dá)式){case常量表達(dá)式1->表達(dá)式1或者{語句;yield

表達(dá)式1};case常量表達(dá)式2->表達(dá)式2或者{語句;yield

表達(dá)式2};

......default->表達(dá)式n+1或者{語句;yield

表達(dá)式n+1};}執(zhí)行流程:先計(jì)算switch后的表達(dá)式的值,找到和case后匹配的值相同的分支,將其后的表達(dá)式的值賦給變量,如果case的->后不是表達(dá)式,執(zhí)行語句,將yield后的值賦給變量。技術(shù)準(zhǔn)備技能點(diǎn)3:有直通行為的switch表達(dá)式任務(wù)4.3用switch語句實(shí)現(xiàn)剪刀石頭布游戲3有直通行為的switch表達(dá)式,case后用冒號(hào)結(jié)束,這樣可以實(shí)現(xiàn)多個(gè)case分支返回相同的值。技術(shù)準(zhǔn)備語法:數(shù)據(jù)類型變量名=switch(表達(dá)式){case常量表達(dá)式1:語句1;case常量表達(dá)式2:yield值1;......default:yield值n;}執(zhí)行流程:先計(jì)算switch后的表達(dá)式的值,找到和case后匹配的值相同的分支開始執(zhí)行,遇到y(tǒng)ield語句后,終止switch表

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論