04第四講JAVA 基礎(chǔ)_第1頁(yè)
04第四講JAVA 基礎(chǔ)_第2頁(yè)
04第四講JAVA 基礎(chǔ)_第3頁(yè)
04第四講JAVA 基礎(chǔ)_第4頁(yè)
04第四講JAVA 基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第四講第四講JAVA語(yǔ)言語(yǔ)言 程序控制程序控制 佘向飛 長(zhǎng)春工程學(xué)院軟件學(xué)院 運(yùn)用運(yùn)用if和和if-else語(yǔ)句語(yǔ)句 運(yùn)用運(yùn)用switch語(yǔ)句語(yǔ)句 運(yùn)用運(yùn)用while、for、do-while語(yǔ)句語(yǔ)句 第四講JAVA語(yǔ)言程序控制 程序流程控制語(yǔ)句程序流程控制語(yǔ)句 第四講JAVA語(yǔ)言程序控制 任意復(fù)雜的算法流程,僅用三種基本結(jié)構(gòu)(順序結(jié)任意復(fù)雜的算法流程,僅用三種基本結(jié)構(gòu)(順序結(jié) 構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu))就可以完全描述。構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu))就可以完全描述。 1選擇結(jié)構(gòu)選擇結(jié)構(gòu) if 選擇語(yǔ)句選擇語(yǔ)句 if(表達(dá)式表達(dá)式) 語(yǔ)句體語(yǔ)句體1; else 語(yǔ)句體語(yǔ)句體2; 是否為真是否為真 語(yǔ)句體

2、語(yǔ)句體2 語(yǔ)句體語(yǔ)句體1 Y N if(表達(dá)式表達(dá)式1) 語(yǔ)句體語(yǔ)句體1; else if(表達(dá)式表達(dá)式2) 語(yǔ)句體語(yǔ)句體2; else if(表達(dá)式表達(dá)式3) 語(yǔ)句體語(yǔ)句體3; else 語(yǔ)句語(yǔ)句N(xiāo); 第四講JAVA語(yǔ)言程序控制 3.swtich多重選擇語(yǔ)句多重選擇語(yǔ)句 雖然利用嵌套的雖然利用嵌套的if選擇語(yǔ)句可以實(shí)現(xiàn)多分支吃選擇語(yǔ)句可以實(shí)現(xiàn)多分支吃 力,但嵌套層數(shù)太多時(shí),顯得混亂且容易出錯(cuò),力,但嵌套層數(shù)太多時(shí),顯得混亂且容易出錯(cuò), JAVA語(yǔ)言提供了語(yǔ)言提供了switch開(kāi)關(guān)語(yǔ)句其形式為開(kāi)關(guān)語(yǔ)句其形式為: 第四講JAVA語(yǔ)言程序控制 Switch(表達(dá)式表達(dá)式) case 常量常量1:語(yǔ)

3、句塊:語(yǔ)句塊1; case 常量常量2: 語(yǔ)句塊語(yǔ)句塊2; case 常量常量n: 語(yǔ)句塊語(yǔ)句塊n default :語(yǔ)句塊語(yǔ)句塊n+1; 第四講JAVA語(yǔ)言程序控制 第四講JAVA語(yǔ)言程序控制 使用使用switch語(yǔ)句時(shí),注意以下幾點(diǎn):語(yǔ)句時(shí),注意以下幾點(diǎn): (1)各個(gè))各個(gè)case后面的常量不能有相同的值。后面的常量不能有相同的值。 (2)各語(yǔ)句塊是一條或多條語(yǔ)句。不必使用復(fù)合語(yǔ)句。)各語(yǔ)句塊是一條或多條語(yǔ)句。不必使用復(fù)合語(yǔ)句。 (3)多數(shù)情況下,各個(gè)語(yǔ)句塊的最后一個(gè)語(yǔ)句使用)多數(shù)情況下,各個(gè)語(yǔ)句塊的最后一個(gè)語(yǔ)句使用break語(yǔ)句,語(yǔ)句, 以便從以便從switch結(jié)構(gòu)中退出。如果某個(gè)語(yǔ)句塊

4、中不使用結(jié)構(gòu)中退出。如果某個(gè)語(yǔ)句塊中不使用break語(yǔ)語(yǔ) 句,則繼續(xù)執(zhí)行下一個(gè)語(yǔ)句塊,直到遇到句,則繼續(xù)執(zhí)行下一個(gè)語(yǔ)句塊,直到遇到break語(yǔ)句,或遇到語(yǔ)句,或遇到 結(jié)構(gòu)結(jié)束符結(jié)構(gòu)結(jié)束符”“ (4)不同的)不同的case常量之后的語(yǔ)句塊相同時(shí),可以合并多個(gè)常量之后的語(yǔ)句塊相同時(shí),可以合并多個(gè) case子句。子句。 (5)由于)由于switch語(yǔ)句的執(zhí)行機(jī)制是用表達(dá)式的值與各個(gè)語(yǔ)句的執(zhí)行機(jī)制是用表達(dá)式的值與各個(gè)case 子句常量做恒等比較;子句常量做恒等比較;case子句順序可以任意。子句順序可以任意。 第四講JAVA語(yǔ)言程序控制 (1)a的類(lèi)型必須為整型或字符型的類(lèi)型必須為整型或字符型 (2)

5、n1,n2,必須為常量;必須為常量; (3)defalut語(yǔ)句是可選的;語(yǔ)句是可選的; (4)break語(yǔ)句是用于退出語(yǔ)句是用于退出switch的,若無(wú)則程序的,若無(wú)則程序 將不再比較而是依次執(zhí)行所有語(yǔ)句。將不再比較而是依次執(zhí)行所有語(yǔ)句。 其中表達(dá)式需要注意的地方其中表達(dá)式需要注意的地方 第四講JAVA語(yǔ)言程序控制 下列語(yǔ)句執(zhí)行后,下列語(yǔ)句執(zhí)行后,r的值是的值是 int x =5,y=10,r=5; switch(x+y) case 15: r+=x; case 20: r-=y; case 25: r*=x/y; default: r+=r; 請(qǐng)描述程序怎樣運(yùn)行請(qǐng)描述程序怎樣運(yùn)行 第四講JA

6、VA語(yǔ)言程序控制 下列語(yǔ)句執(zhí)行后,下列語(yǔ)句執(zhí)行后,r的值是的值是 int x =5,y=10,r=5; switch(x+y) case 15: r+=x; break; case 20: r-=y; break; case 25: r*=x/y; break; default: r+=r; break; 請(qǐng)描述程序怎樣運(yùn)行請(qǐng)描述程序怎樣運(yùn)行 第四講JAVA語(yǔ)言程序控制 3.2.2循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) while語(yǔ)句格式:語(yǔ)句格式: 初始化語(yǔ)句;初始化語(yǔ)句; while(條件表達(dá)式)(條件表達(dá)式) 語(yǔ)句序列;語(yǔ)句序列; 迭代語(yǔ)句;迭代語(yǔ)句;/變更循環(huán)條件變更循環(huán)條件 1.While語(yǔ)句語(yǔ)句 請(qǐng)問(wèn)請(qǐng)

7、問(wèn)while循環(huán)語(yǔ)句至少循環(huán)語(yǔ)句至少 執(zhí)行多少次?執(zhí)行多少次? 第四講JAVA語(yǔ)言程序控制 2.do while語(yǔ)句語(yǔ)句 格式:格式: 初始化語(yǔ)句;初始化語(yǔ)句; do 語(yǔ)句序列;語(yǔ)句序列; 迭代語(yǔ)句;迭代語(yǔ)句;/變更循環(huán)條件變更循環(huán)條件 while(條件表達(dá)式)(條件表達(dá)式);是是 否否 正正 確確 語(yǔ)語(yǔ) 句句 Y YE ES S N NO O 第四講JAVA語(yǔ)言程序控制 3.for循環(huán)語(yǔ)句循環(huán)語(yǔ)句 格式:格式: for(初始化語(yǔ)句;循環(huán)條件;(初始化語(yǔ)句;循環(huán)條件; 迭代語(yǔ)句)迭代語(yǔ)句) 循環(huán)體;循環(huán)體; 是是 否否 符符 合合 條條 件件 ? 初初 始始 化化 控控 制制 變變 量量 語(yǔ)語(yǔ)

8、 句句 塊塊 改改 變變 控控 制制 變變 量量 Y Y E E S S N N O O 第四講JAVA語(yǔ)言程序控制 for執(zhí)行過(guò)程如下:執(zhí)行過(guò)程如下: (1)計(jì)算表達(dá)式)計(jì)算表達(dá)式1; (2)計(jì)算表達(dá)式)計(jì)算表達(dá)式2,其值為,其值為true,就進(jìn)入(,就進(jìn)入(3) 執(zhí)行循環(huán)體語(yǔ)句,否則,轉(zhuǎn)去(執(zhí)行循環(huán)體語(yǔ)句,否則,轉(zhuǎn)去(6)終止循環(huán))終止循環(huán) (3)執(zhí)行循環(huán)體)執(zhí)行循環(huán)體 (4)計(jì)算表達(dá)式)計(jì)算表達(dá)式3 (5)轉(zhuǎn)去()轉(zhuǎn)去(2) (6)結(jié)束循環(huán))結(jié)束循環(huán) 第四講JAVA語(yǔ)言程序控制 public class sum public static void main(String args) i

9、nt sum=0; int max=100; for(int i=1;i=max;i+) sum+=i; System.out.println(1+2+.+99+100=+sum); 畫(huà)出流程圖畫(huà)出流程圖 第四講JAVA語(yǔ)言程序控制 sum=0; max=100; i=1; i=max? Sum+=i; YES i=i+1; NO 結(jié)束 開(kāi)始 輸出總 和 第四講JAVA語(yǔ)言程序控制 public class switch1 public static void main(String args) char cGrade =a; switch (cGrade) case a: System.ou

10、t.println(85100); case b: System.out.println(7084); case c: System.out.println(6069); case d: System.out.println(60); default: System.out.println(error); 畫(huà)出流程圖畫(huà)出流程圖 第四講JAVA語(yǔ)言程序控制 開(kāi) 始 n = 1 0 0 n = 2 0 0 n % 3 ! = 0 | | n % 5 ! = 0 輸 出 n y e s n o n = n + 1 y e s N O 結(jié) 束 根據(jù)流程圖寫(xiě)出代碼根據(jù)流程圖寫(xiě)出代碼 第四講JAVA語(yǔ)言程

11、序控制 Math.pow(j,3)表示表示j*j*j(三個(gè)數(shù)相三個(gè)數(shù)相 乘)乘) 要求用要求用while 和和for 編寫(xiě)編寫(xiě) 第四講JAVA語(yǔ)言程序控制 public class nar public static void main(String args ) int i=0;int j=0;int k=0;int n=100;int m=0; int min=100;int max=1000;int iTime=3; while (nmax) m=0; i=n/min; j=(n-i*min)/10; k=n%10; m+=(Math.pow(i, iTime) + Math.pow(j

12、, iTime) + Math.pow(k, iTime); if(m=n) System.out.println(水仙花數(shù)水仙花數(shù)+n); n+; 第四講JAVA語(yǔ)言程序控制 控制轉(zhuǎn)移控制轉(zhuǎn)移 控制轉(zhuǎn)移可以有條件或無(wú)條件的改變程序的執(zhí)行控制轉(zhuǎn)移可以有條件或無(wú)條件的改變程序的執(zhí)行 順序。順序。JAVA支持三種控制轉(zhuǎn)移語(yǔ)句:支持三種控制轉(zhuǎn)移語(yǔ)句: break,continue和和return。 break語(yǔ)句語(yǔ)句 它的作用是使程序的流程從一個(gè)語(yǔ)句塊內(nèi)部轉(zhuǎn)移它的作用是使程序的流程從一個(gè)語(yǔ)句塊內(nèi)部轉(zhuǎn)移 出去,只在開(kāi)關(guān)語(yǔ)句和循環(huán)語(yǔ)句中使用,允許從出去,只在開(kāi)關(guān)語(yǔ)句和循環(huán)語(yǔ)句中使用,允許從 switch

13、語(yǔ)句的語(yǔ)句的case子句中跳出,或從循環(huán)體內(nèi)跳出,子句中跳出,或從循環(huán)體內(nèi)跳出, 不允許跳入任何語(yǔ)句塊內(nèi)。不允許跳入任何語(yǔ)句塊內(nèi)。 第四講JAVA語(yǔ)言程序控制 continue語(yǔ)句語(yǔ)句 它只能用在循環(huán)語(yǔ)句中,具有帶標(biāo)號(hào)和不帶標(biāo)號(hào)兩它只能用在循環(huán)語(yǔ)句中,具有帶標(biāo)號(hào)和不帶標(biāo)號(hào)兩 種形式,它的作用是終止當(dāng)前這一輪的循環(huán),不再種形式,它的作用是終止當(dāng)前這一輪的循環(huán),不再 執(zhí)行在它后面的語(yǔ)句,直接進(jìn)入下一輪的循環(huán),在執(zhí)行在它后面的語(yǔ)句,直接進(jìn)入下一輪的循環(huán),在 while或或do while 循環(huán)中,不帶標(biāo)號(hào)的循環(huán)中,不帶標(biāo)號(hào)的continue語(yǔ)句語(yǔ)句 使流程直接跳轉(zhuǎn)循環(huán)條件的判斷上;在使流程直接跳轉(zhuǎn)循

14、環(huán)條件的判斷上;在for循環(huán)中,循環(huán)中, 不帶標(biāo)號(hào)的不帶標(biāo)號(hào)的continue語(yǔ)句直接計(jì)算表達(dá)式語(yǔ)句直接計(jì)算表達(dá)式3的值,再的值,再 根據(jù)表達(dá)式根據(jù)表達(dá)式2的真或假?zèng)Q定是否繼續(xù)循環(huán)。的真或假?zèng)Q定是否繼續(xù)循環(huán)。 第四講JAVA語(yǔ)言程序控制 return語(yǔ)句語(yǔ)句 用于方法體中退出該方法,并返回一定數(shù)用于方法體中退出該方法,并返回一定數(shù) 值,格式有:值,格式有: return 表達(dá)式或變量或數(shù)值;表達(dá)式或變量或數(shù)值; return;/方法沒(méi)有返回值即方法沒(méi)有返回值即void 第四講JAVA語(yǔ)言程序控制 要判斷某一年是否潤(rùn)年。閏年的條件是符合要判斷某一年是否潤(rùn)年。閏年的條件是符合 下面二者之一(下面二

15、者之一(1)能被)能被4整除,但不能被整除,但不能被100 整除(整除(2)能被)能被4整除,又能被整除,又能被400整除整除 第一步:找出題目中的要求第一步:找出題目中的要求 要求就是求出用戶輸入的年是不是潤(rùn)年要求就是求出用戶輸入的年是不是潤(rùn)年 第四講JAVA語(yǔ)言程序控制 第二步:找出潤(rùn)年的條件第二步:找出潤(rùn)年的條件 (1) year%4=0bool=(year%4=0) bool1=(year%4=0bool1=(year%4=0 bool2=bool|bool1;bool2=bool|bool1; bool2bool2 輸出是輸出是 YESYES 輸出否輸出否 NONO 結(jié)束結(jié)束 開(kāi)始開(kāi)始

溫馨提示

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