java-流程控制語句PPT優(yōu)秀課件_第1頁
java-流程控制語句PPT優(yōu)秀課件_第2頁
java-流程控制語句PPT優(yōu)秀課件_第3頁
java-流程控制語句PPT優(yōu)秀課件_第4頁
java-流程控制語句PPT優(yōu)秀課件_第5頁
已閱讀5頁,還剩64頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 語句是程序的基本組成單位。語句是程序的基本組成單位。1. 簡(jiǎn)單語句簡(jiǎn)單語句 變量說明語句、賦值語句、方法調(diào)用語句、空語句等被稱為簡(jiǎn)單語變量說明語句、賦值語句、方法調(diào)用語句、空語句等被稱為簡(jiǎn)單語句。句。 在在JavaJava語言中,一個(gè)語言中,一個(gè)簡(jiǎn)單語句總是以分號(hào)結(jié)尾的。簡(jiǎn)單語句總是以分號(hào)結(jié)尾的。例:例:int a=1,b; /變量說明語句變量說明語句 b=2; /賦值語句賦值語句 ; /空語句空語句 System.out.print(b); /方法調(diào)用語句方法調(diào)用語句 2. 復(fù)合語句復(fù)合語句 復(fù)合語句復(fù)合語句:由大括號(hào):由大括號(hào)“ ” ”括起來的語句。括起來的語句。 復(fù)合語句的復(fù)合語句的

2、內(nèi)可放內(nèi)可放0n0n個(gè)語句,每條語句都應(yīng)該符合個(gè)語句,每條語句都應(yīng)該符合JavaJava語句的語法。語句的語法。例例. if (a0). if (ab) min=b;3.1.1 if 語句語句條條 件件布爾表達(dá)式布爾表達(dá)式語句語句if的后繼語句的后繼語句falsetrue 簡(jiǎn)單簡(jiǎn)單if語句的執(zhí)行流程圖語句的執(zhí)行流程圖 語法形式:語法形式: if (布爾表達(dá)式布爾表達(dá)式) 語句語句1 else 語句語句2 注意:注意:條件必須是布爾表達(dá)式。語句條件必須是布爾表達(dá)式。語句1 1、語句、語句2 2可以是復(fù)合可以是復(fù)合語句。語句。 例例. if (a0) if (check0) x1=(-b+(flo

3、at)Math.sqrt(check)/(2 x1=(-b+(float)Math.sqrt(check)/(2* *a);a); x2=(-b-(float)Math.sqrt(check)/(2 x2=(-b-(float)Math.sqrt(check)/(2* *a);a); System.out.println(x1=+x1); System.out.println(x1=+x1); System.out.println(x2=+x2); System.out.println(x2=+x2); else else / /* *請(qǐng)自己填寫請(qǐng)自己填寫* */ / 練習(xí):練習(xí): 編寫一程序

4、,運(yùn)行后從鍵盤輸入二個(gè)整數(shù),輸出編寫一程序,運(yùn)行后從鍵盤輸入二個(gè)整數(shù),輸出 其中的最小數(shù)。其中的最小數(shù)。課堂練習(xí):求最小數(shù)課堂練習(xí):求最小數(shù)import java.io.import java.io.* *; ; public class Minpublic class Minpublic static void mainpublic static void main(String args)(String args) throws throws IOExceptionIOException byte buf=new byte20; byte buf=new byte20; String st

5、r ; int a, b, min;String str ; int a, b, min; System.out.println(System.out.println(請(qǐng)輸入二個(gè)整數(shù):請(qǐng)輸入二個(gè)整數(shù):);); System.in.read(buf);System.in.read(buf); /從鍵盤讀一數(shù)字串存于從鍵盤讀一數(shù)字串存于bufbuf中中str=new String(buf);str=new String(buf); /buf /buf 轉(zhuǎn)換成字符串轉(zhuǎn)換成字符串 a=Integer.parseInt(str.trim();a=Integer.parseInt(str.trim();

6、/ /數(shù)字串轉(zhuǎn)換成整數(shù)數(shù)字串轉(zhuǎn)換成整數(shù)System.in.read(buf); str=new String(buf);System.in.read(buf); str=new String(buf); b=Integer.parseInt(str.trim();b=Integer.parseInt(str.trim(); min=a;min=a;if (minb) min=b;if (minb) min=b;System.out.println(System.out.println(最小數(shù)是最小數(shù)是+min);+min);3.1.2 switch 語句語句 switchswitch語句根據(jù)測(cè)

7、試表達(dá)式的結(jié)果來執(zhí)行多個(gè)可能操作中的一個(gè),語句根據(jù)測(cè)試表達(dá)式的結(jié)果來執(zhí)行多個(gè)可能操作中的一個(gè),它的語法形式如下:它的語法形式如下:switchswitch語句的流程如下所示。語句的流程如下所示。 switch( switch(測(cè)試表達(dá)式測(cè)試表達(dá)式) ) case case 常量常量1 1:語句塊:語句塊1 1 break; break; case case 常量常量2 2:語句塊:語句塊2 2 break; break; case case 常量常量n n:語句塊:語句塊n n break; break; default: default: 語句塊語句塊n+1 n+1 測(cè)試表達(dá)式語句塊1bre

8、ak語句塊2breakbreak語句塊n語句塊n+1后繼語句常量2defaultswitch語句的流程圖常量1常量n switchswitch語句中的每個(gè)語句中的每個(gè)“case“case常量常量:” :” 稱為一個(gè)稱為一個(gè)casecase子句,代表一個(gè)子句,代表一個(gè)casecase分支的入口。分支的入口。 switch switch語句的注意點(diǎn)如下:語句的注意點(diǎn)如下:(1 1)測(cè)試表達(dá)式必須是)測(cè)試表達(dá)式必須是bytebyte、charchar、shortshort、intint類型的表達(dá)式類型的表達(dá)式, ,而而不能不能使用浮點(diǎn)類型或使用浮點(diǎn)類型或longlong類型類型, ,也也不能為一個(gè)字

9、符串不能為一個(gè)字符串。(2 2)switchswitch語句將測(cè)試表達(dá)式的值依次與每個(gè)語句將測(cè)試表達(dá)式的值依次與每個(gè)casecase子句中的常量值相子句中的常量值相比較。如果匹配成功,則執(zhí)行該比較。如果匹配成功,則執(zhí)行該casecase子句中常量值后的語句,直到遇到子句中常量值后的語句,直到遇到breakbreak語句為止。語句為止。(3 3)casecase子句中常量的類型必須與測(cè)試表達(dá)式的類型相容,而且每個(gè)子句中常量的類型必須與測(cè)試表達(dá)式的類型相容,而且每個(gè)casecase子句中常量的值必須是不同的。常量也可以是常量表達(dá)式子句中常量的值必須是不同的。常量也可以是常量表達(dá)式( (不含變量、不

10、含變量、方法的表達(dá)式方法的表達(dá)式) )。(4 4)defaultdefault子句是可選的,當(dāng)測(cè)試表達(dá)式的值與任一子句是可選的,當(dāng)測(cè)試表達(dá)式的值與任一casecase子句中的值都子句中的值都不匹配時(shí),就執(zhí)行不匹配時(shí),就執(zhí)行defaultdefault后的語句。如果表達(dá)式的值與任一后的語句。如果表達(dá)式的值與任一casecase子句中的子句中的值都不匹配且沒有值都不匹配且沒有defaultdefault子句,則程序不執(zhí)行任何操作,而是直接跳出子句,則程序不執(zhí)行任何操作,而是直接跳出switchswitch語句,進(jìn)入后續(xù)程序段的執(zhí)行。語句,進(jìn)入后續(xù)程序段的執(zhí)行。 (5 5)breakbreak語句用

11、來在執(zhí)行完一個(gè)語句用來在執(zhí)行完一個(gè)casecase分支后,使程序跳出分支后,使程序跳出switchswitch語句,語句,執(zhí)行執(zhí)行switchswitch語句的后續(xù)語句。因?yàn)檎Z句的后續(xù)語句。因?yàn)閏asecase子句只是起到一個(gè)標(biāo)號(hào)的作用,用子句只是起到一個(gè)標(biāo)號(hào)的作用,用來查找匹配的入口,然后從此處開始執(zhí)行,對(duì)后面的來查找匹配的入口,然后從此處開始執(zhí)行,對(duì)后面的casecase子句的值不再進(jìn)子句的值不再進(jìn)行比較,而是直接執(zhí)行其后的語句。因此一般情況下,每個(gè)行比較,而是直接執(zhí)行其后的語句。因此一般情況下,每個(gè)casecase分支后,分支后,要用要用breakbreak來終止后面的來終止后面的cas

12、ecase分支語句的執(zhí)行。分支語句的執(zhí)行。(6 6)casecase分支中包括多個(gè)執(zhí)行語句時(shí),可以不用花括號(hào)括起。分支中包括多個(gè)執(zhí)行語句時(shí),可以不用花括號(hào)括起。(7 7)通過)通過if-elseif-else語句可以實(shí)現(xiàn)語句可以實(shí)現(xiàn)switchswitch語句所有的功能。但通常使用語句所有的功能。但通常使用switchswitch語句更簡(jiǎn)練,且可讀性強(qiáng),程序的執(zhí)行效率也高。語句更簡(jiǎn)練,且可讀性強(qiáng),程序的執(zhí)行效率也高。(8 8)if-elseif-else語句可以基于一個(gè)范圍內(nèi)的值或一個(gè)條件來進(jìn)行不同的操語句可以基于一個(gè)范圍內(nèi)的值或一個(gè)條件來進(jìn)行不同的操作,但作,但switchswitch語句中

13、的每個(gè)語句中的每個(gè)casecase子句都必須對(duì)應(yīng)一個(gè)單值。子句都必須對(duì)應(yīng)一個(gè)單值。class SwitchDemoclass SwitchDemo public static void public static void mainmain(String args) (String args) int month=7; int month=7; String season; String season; switch (month) switch (month) case 12: case 12: case 1: case 1: case 2: case 2: season= season=冬

14、季冬季; ; break; break; case 3: case 3: case 4: case 4: case 5: case 5: season= season=春季春季 ; break; break; case 6: case 6: case 7: case 7: case 8: season= case 8: season=夏季夏季; ; break; break; case 9: case 9: case 10: case 10: case 11: season= case 11: season=秋季秋季; ; break; break; default: season= defa

15、ult: season=錯(cuò)錯(cuò)!;!; System.out.println System.out.println(month+(month+月是月是+season);+season); ss 例例. . 用用switchswitch語句判斷一個(gè)月份屬于一年中哪個(gè)季節(jié)語句判斷一個(gè)月份屬于一年中哪個(gè)季節(jié)( (春春、夏夏、秋秋、冬冬) ) (方法一)(方法一) 循環(huán)語句的作用是反復(fù)執(zhí)行同一段代碼直到滿足結(jié)束條循環(huán)語句的作用是反復(fù)執(zhí)行同一段代碼直到滿足結(jié)束條件。許多問題中需要用到循環(huán)控制。例如累加、累乘等。件。許多問題中需要用到循環(huán)控制。例如累加、累乘等。 Java循環(huán)語句有循環(huán)語句有while、do

16、-while和和for三種。三種。 3.2 循環(huán)語句循環(huán)語句3.2.1 3.2.2 3.2.3 u while while語句形式如下:語句形式如下: while (while (布爾表達(dá)式布爾表達(dá)式) ) 語句語句 whilewhile語句執(zhí)行的過程為:執(zhí)行語句執(zhí)行的過程為:執(zhí)行whilewhile語句時(shí),首先判斷布爾表語句時(shí),首先判斷布爾表達(dá)式的值,當(dāng)布爾表達(dá)式的值為達(dá)式的值,當(dāng)布爾表達(dá)式的值為truetrue,則執(zhí)行循環(huán)體,然后再判斷,則執(zhí)行循環(huán)體,然后再判斷條件,直到布爾表達(dá)式的值為條件,直到布爾表達(dá)式的值為falsefalse,停止執(zhí)行語句。,停止執(zhí)行語句。 使用使用whilewhi

17、le語句應(yīng)注意以下兩點(diǎn):語句應(yīng)注意以下兩點(diǎn):(1 1)該語句是先判斷后執(zhí)行,若一開始條件就不成立,就不執(zhí)行)該語句是先判斷后執(zhí)行,若一開始條件就不成立,就不執(zhí)行循環(huán)體。循環(huán)體。(2 2)在循環(huán)體內(nèi)一定要有改變條件的語句,否則是死循環(huán)。)在循環(huán)體內(nèi)一定要有改變條件的語句,否則是死循環(huán)。whilewhile語句的流程圖如下所示。語句的流程圖如下所示。3.2.1 while 語句語句布爾表達(dá)式布爾表達(dá)式循環(huán)體循環(huán)體falsetrue while語句流程圖class sum public static void main(String args) int n=100; /循環(huán)總數(shù)循環(huán)總數(shù)n=100 i

18、nt i=1; /循環(huán)次數(shù),初值為循環(huán)次數(shù),初值為 float s=0; /和和s為實(shí)型為實(shí)型 while (i=n) /循環(huán)條件循環(huán)條件,循環(huán)總數(shù)循環(huán)總數(shù)100 s=s+1.0f/i; /s增加增加1/i, 1.0f表示是表示是float型型 i+; /循環(huán)次數(shù)加循環(huán)次數(shù)加 System.out.println(s = +s); 例例. . 用用whilewhile循環(huán)語句計(jì)算循環(huán)語句計(jì)算s=1+1/2+1/3+1/100s=1+1/2+1/3+1/100。 JavaJava還提供了另一個(gè)與還提供了另一個(gè)與whilewhile語句類似的語句語句類似的語句do-do-whilewhile語句。

19、語句。do-whiledo-while語句的語法形式如下:語句的語法形式如下: dodo 語句語句 while ( while (布爾表達(dá)式布爾表達(dá)式); ); do-whiledo-while語句執(zhí)行的過程為:先執(zhí)行一次循環(huán)體中的語句,然后測(cè)語句執(zhí)行的過程為:先執(zhí)行一次循環(huán)體中的語句,然后測(cè)試布爾表達(dá)式的值,如果布表達(dá)式的值為真,那就繼續(xù)執(zhí)行循環(huán)體,試布爾表達(dá)式的值,如果布表達(dá)式的值為真,那就繼續(xù)執(zhí)行循環(huán)體,do-whiledo-while語句將不斷地測(cè)試布爾表達(dá)式的值并執(zhí)行循環(huán)體中的內(nèi)容,語句將不斷地測(cè)試布爾表達(dá)式的值并執(zhí)行循環(huán)體中的內(nèi)容,直到布爾表達(dá)式的值為假為止。直到布爾表達(dá)式的值為假

20、為止。 do-whiledo-while語句的流程圖如下所示。語句的流程圖如下所示。3.2.2 do-while 語句語句布爾表達(dá)式布爾表達(dá)式循環(huán)體循環(huán)體truefalseDo- while語句流程圖 do-whiledo-while語句和語句和whilewhile語句的不同之處是語句的不同之處是: do-while: do-while語句總是先進(jìn)入循環(huán),語句總是先進(jìn)入循環(huán),執(zhí)行一次循環(huán)體后才檢測(cè)循環(huán)條件,以決定是否繼續(xù)循環(huán),執(zhí)行一次循環(huán)體后才檢測(cè)循環(huán)條件,以決定是否繼續(xù)循環(huán),而而while語句是語句是先測(cè)試條件,再?zèng)Q定是否進(jìn)入循環(huán)。所以,用先測(cè)試條件,再?zèng)Q定是否進(jìn)入循環(huán)。所以,用do-whi

21、le語句時(shí),循環(huán)體至語句時(shí),循環(huán)體至少執(zhí)行一次。少執(zhí)行一次。 例例. . 用用do-whiledo-while循環(huán)語句計(jì)算循環(huán)語句計(jì)算s=1+1/2+1/3+1/4+1/100s=1+1/2+1/3+1/4+1/100。 class sum class sum public static voidpublic static void main main(String args)(String args) int i=1; int i=1; /循環(huán)次數(shù),初值為循環(huán)次數(shù),初值為 float s=0; float s=0; /和和s s為實(shí)型為實(shí)型 do do /循環(huán)條件循環(huán)條件 s=s+1.0f/

22、i; s=s+1.0f/i; /s/s增加增加1/i,1.0f1/i,1.0f表示是表示是floatfloat型型 i+; i+; /循環(huán)次數(shù)加循環(huán)次數(shù)加 while (i=100); while (i=100); /要循環(huán)要循環(huán)100100次次 System.out.println(s= +s);System.out.println(s= +s); forfor語句是循環(huán)的另一種表示形式。語句是循環(huán)的另一種表示形式。forfor語句的語法形式為:語句的語法形式為: forfor(表達(dá)式(表達(dá)式1 1;表達(dá)式;表達(dá)式2 2;表達(dá)式;表達(dá)式3 3) 語句語句 forfor是是forfor語句的關(guān)

23、鍵字,語句為語句的關(guān)鍵字,語句為forfor語句的循環(huán)體,若有多個(gè)語句,語句的循環(huán)體,若有多個(gè)語句,需構(gòu)成復(fù)合語句。需構(gòu)成復(fù)合語句。 for for語句中循環(huán)控制變量必須是有序類型,常用的有整型、字符型、語句中循環(huán)控制變量必須是有序類型,常用的有整型、字符型、布爾型。循環(huán)控制變量初值和終值通常是與控制變量類型相一致的一個(gè)布爾型。循環(huán)控制變量初值和終值通常是與控制變量類型相一致的一個(gè)常量,也可以是表達(dá)式。循環(huán)次數(shù)由初值和終值決定。執(zhí)行過程:常量,也可以是表達(dá)式。循環(huán)次數(shù)由初值和終值決定。執(zhí)行過程:(1 1)按表達(dá)式)按表達(dá)式1 1將初值賦給循環(huán)控制變量。將初值賦給循環(huán)控制變量。(2 2)按表達(dá)式

24、)按表達(dá)式2 2判斷循環(huán)是否成立,即判斷控制變量的值判斷循環(huán)是否成立,即判斷控制變量的值3.2.3 for 語句語句 是否越過終值(未越過終值為條件成立,越過終值為條件不是否越過終值(未越過終值為條件成立,越過終值為條件不成立),若條件不成立、轉(zhuǎn)步驟(成立),若條件不成立、轉(zhuǎn)步驟(6 6)。)。 (3 3)若條件成立,則執(zhí)行循環(huán)體。)若條件成立,則執(zhí)行循環(huán)體。(4 4)按表達(dá)式)按表達(dá)式3 3修改控制變量。對(duì)于遞增型為原控制變量值的后續(xù);對(duì)修改控制變量。對(duì)于遞增型為原控制變量值的后續(xù);對(duì)于遞減型為原控制變量值的前導(dǎo)。于遞減型為原控制變量值的前導(dǎo)。(5 5)返回步驟()返回步驟(2 2)。()。

25、(6 6)結(jié)束循環(huán)。)結(jié)束循環(huán)。 求解表達(dá)式求解表達(dá)式1表達(dá)式表達(dá)式2循環(huán)體循環(huán)體求解表達(dá)式求解表達(dá)式3for語句的下一語句語句的下一語句falsetruefor語句的流程圖例例. . 求求FibonacciFibonacci數(shù)列的前數(shù)列的前4040個(gè)數(shù)項(xiàng)。個(gè)數(shù)項(xiàng)。 FibonacciFibonacci數(shù)列:數(shù)列:1 1,1 1,2 2,3 3,5 5,8 8,1313,2121,3434,從數(shù)列看到:從數(shù)列看到: F1=1 (n=1) F1=1 (n=1) F2=1 (n=2) F2=1 (n=2) Fn=F Fn=Fn-1n-1+F+Fn-2n-2 (n3) (n3) forfor語句使用

26、的一些技巧:語句使用的一些技巧: 有時(shí),有時(shí),forfor語句在表達(dá)式語句在表達(dá)式1 1和表達(dá)式和表達(dá)式3 3的位置上需要包含多個(gè)表達(dá)式,的位置上需要包含多個(gè)表達(dá)式,這時(shí)可使用這時(shí)可使用JavaJava提供的逗號(hào)運(yùn)算符來實(shí)現(xiàn)。提供的逗號(hào)運(yùn)算符來實(shí)現(xiàn)。 逗號(hào)運(yùn)算符是用逗號(hào)逗號(hào)運(yùn)算符是用逗號(hào)“,” ,” 分隔多個(gè)表達(dá)式分隔多個(gè)表達(dá)式, , 被看作一個(gè)表達(dá)式。被看作一個(gè)表達(dá)式。這樣這樣就可以在只能放一個(gè)表達(dá)式的地方放任意多個(gè)表達(dá)式,只須用逗號(hào)將它們就可以在只能放一個(gè)表達(dá)式的地方放任意多個(gè)表達(dá)式,只須用逗號(hào)將它們分隔開。如:分隔開。如: for for ( ( i=1, j=10i=1, j=10;i

27、jij;i+, j-i+, j- ) ) 表達(dá)式表達(dá)式1 1、表達(dá)式、表達(dá)式2 2及表達(dá)式及表達(dá)式3 3都可以為空語句都可以為空語句( (但分號(hào)不能省略但分號(hào)不能省略) ),三,三者均為空的時(shí)候,相當(dāng)于一個(gè)無限循環(huán)。如:者均為空的時(shí)候,相當(dāng)于一個(gè)無限循環(huán)。如: for( ; ; ) for( ; ; ) 注意點(diǎn)注意點(diǎn): : 由于由于JavaJava語句是用分號(hào)結(jié)束的,一個(gè)容易犯的錯(cuò)誤是在語句是用分號(hào)結(jié)束的,一個(gè)容易犯的錯(cuò)誤是在forfor語語句的圓括號(hào)后面加了一個(gè)不應(yīng)有的分號(hào)。句的圓括號(hào)后面加了一個(gè)不應(yīng)有的分號(hào)。例如:下面的程序是想要計(jì)算:例如:下面的程序是想要計(jì)算:1+2+.+991+2+.

28、+99 在上例中,分號(hào)被放在循環(huán)體的前邊,相當(dāng)于在上例中,分號(hào)被放在循環(huán)體的前邊,相當(dāng)于forfor語句的循環(huán)體為空語語句的循環(huán)體為空語句,其結(jié)果是句,其結(jié)果是forfor循環(huán)體什么都不處理。此程序的編譯不會(huì)出任何錯(cuò)誤,循環(huán)體什么都不處理。此程序的編譯不會(huì)出任何錯(cuò)誤,但當(dāng)它運(yùn)行時(shí)并不產(chǎn)生預(yù)期的但當(dāng)它運(yùn)行時(shí)并不產(chǎn)生預(yù)期的結(jié)果。結(jié)果。運(yùn)行上面這個(gè)程序會(huì)得到如下輸出結(jié)果:運(yùn)行上面這個(gè)程序會(huì)得到如下輸出結(jié)果: value=100value=100 一般來說,在循環(huán)次數(shù)預(yù)知的情況下,用一般來說,在循環(huán)次數(shù)預(yù)知的情況下,用forfor語句比較方便,而語句比較方便,而whilewhile語語句和句和do-w

29、hiledo-while語句比較適合于循環(huán)次數(shù)不能預(yù)先確定的情況。語句比較適合于循環(huán)次數(shù)不能預(yù)先確定的情況。循環(huán)嵌套 一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完整的循環(huán)結(jié)構(gòu),稱為循環(huán)的嵌套。內(nèi)一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完整的循環(huán)結(jié)構(gòu),稱為循環(huán)的嵌套。內(nèi)嵌的循環(huán)中還可以嵌套循環(huán),這就是多重循環(huán)。上述三種循環(huán)(嵌的循環(huán)中還可以嵌套循環(huán),這就是多重循環(huán)。上述三種循環(huán)(whilewhile循環(huán),循環(huán),do-whiledo-while循環(huán)和循環(huán)和forfor循環(huán))語句之間可以相互嵌套使用。循環(huán))語句之間可以相互嵌套使用。 例例. . 打印下面的數(shù)字圖案(每行打打印下面的數(shù)字圖案(每行打5 5個(gè)數(shù)字,每行各列數(shù)的值等于第個(gè)

30、數(shù)字,每行各列數(shù)的值等于第一列數(shù)乘自己所在列號(hào)):一列數(shù)乘自己所在列號(hào)): 1 2 3 4 5 1 2 3 4 5 2 4 6 8 10 2 4 6 8 10 3 6 9 12 15 3 6 9 12 15 4 8 12 16 20 4 8 12 16 20 5 10 15 20 25 5 10 15 20 25 u 循環(huán)嵌套循環(huán)嵌套public class Loop_Looppublic class Loop_Looppublic static void public static void mainmain(String args)(String args) int I,J,K; int

31、I,J,K; /I/I表示行號(hào)表示行號(hào),J,J表示列號(hào)表示列號(hào),K,K存臨時(shí)計(jì)算的值存臨時(shí)計(jì)算的值 for (I=1;I=5;I+ ) for (I=1;I=5;I+ ) for ( J=1;J=5;J+) for ( J=1;J=5;J+) K=I K=I* *J; System.out.print(K+ ); J; System.out.print(K+ ); System.out.println(); System.out.println(); /每打每打5 5列換行列換行 例例. . 百雞問題。百雞問題。 已知公雞已知公雞5 5元元1 1只,母雞只,母雞3 3元一只,小雞元一只,小雞1

32、 1元元3 3只,要求用只,要求用100100元?jiǎng)偤觅I元?jiǎng)偤觅I100100只雞,問有多少種采購(gòu)方案。只雞,問有多少種采購(gòu)方案。 分析分析: : 設(shè)變量設(shè)變量I I、J J、K K分別代表公雞數(shù)、母雞數(shù)及小雞數(shù),則應(yīng)滿足分別代表公雞數(shù)、母雞數(shù)及小雞數(shù),則應(yīng)滿足下列一些條件下列一些條件: : I+J+K=100( I+J+K=100(只只) ),I,J,KI,J,K 0 0; ; 5I+3J+K/3=100 5I+3J+K/3=100(元)(元); ; 若用若用100100元全部買公雞,最多只能買元全部買公雞,最多只能買2020只只, , 所以所以I20;I20;同樣地母雞最多同樣地母雞最多只能買

33、只能買3333只,所以只,所以J33; J33; 而小雞數(shù)目就是而小雞數(shù)目就是100-I-J;100-I-J; 根據(jù)以上分析,可編程如下:根據(jù)以上分析,可編程如下:例例. .百雞問題百雞問題public class Loop_Loop public static void main(String args) int I,J,K; System.out.println(公雞公雞 母雞母雞 小雞小雞); for (I=0; I=20; I+ ) for ( J=0; J=33; J+) K=100-I-J; if (5*I+3*J+K/3.0=100) /注意注意“K/3.0” System.ou

34、t.println(I+ +J+ +K); 循環(huán)語句正常結(jié)束是在循環(huán)條件表達(dá)式的值變?yōu)檠h(huán)語句正常結(jié)束是在循環(huán)條件表達(dá)式的值變?yōu)閒alse的的 時(shí)候,時(shí)候,但有時(shí)即使測(cè)試的條件為但有時(shí)即使測(cè)試的條件為true,也希望循環(huán)立即終止,這時(shí)可以用,也希望循環(huán)立即終止,這時(shí)可以用跳轉(zhuǎn)語句跳轉(zhuǎn)語句break或或continue語句實(shí)現(xiàn)。語句實(shí)現(xiàn)。continue語句只能用于循語句只能用于循環(huán)語句中。環(huán)語句中。break可用于可用于switch語句中,亦可用于循環(huán)語句中語句中,亦可用于循環(huán)語句中 注意:注意:Java中不支持中不支持goto語句。語句。 3.3 跳轉(zhuǎn)語句跳轉(zhuǎn)語句3.3.1 3.3.2 br

35、eakbreak語句的一般語法格式為:語句的一般語法格式為: break break 標(biāo)號(hào)標(biāo)號(hào) ; 其中,用其中,用“ ” ”括起的標(biāo)號(hào)部分是可選的。括起的標(biāo)號(hào)部分是可選的。 1.1.不帶標(biāo)號(hào)的情況不帶標(biāo)號(hào)的情況 此時(shí),此時(shí),breakbreak語句的功能是語句的功能是終止終止breakbreak所在的循環(huán)語句所在的循環(huán)語句, ,轉(zhuǎn)去執(zhí)行轉(zhuǎn)去執(zhí)行其后的第一條語句其后的第一條語句。 對(duì)于不帶標(biāo)號(hào)的對(duì)于不帶標(biāo)號(hào)的breakbreak語句,在執(zhí)行時(shí)有兩個(gè)特點(diǎn):語句,在執(zhí)行時(shí)有兩個(gè)特點(diǎn): 1) 1) 在有多重循環(huán)時(shí),它只能使循環(huán)從本層的循環(huán)跳出來;在有多重循環(huán)時(shí),它只能使循環(huán)從本層的循環(huán)跳出來; 2)

36、 2) 跳出循環(huán)后轉(zhuǎn)移到本層循環(huán)的下一個(gè)語句。跳出循環(huán)后轉(zhuǎn)移到本層循環(huán)的下一個(gè)語句。3.3.1 break 語句語句public class breakout public class breakout public static void main(String args) public static void main(String args) throws IOException int I,J,K; char ch= ; int I,J,K; char ch= ; for (I=1;I=1;I+ ) / for (I=1;I=1;I+ ) /最外層循環(huán)最外層循環(huán) for ( J=1;J

37、=2;J+) / for ( J=1;J=2;J+) /第二層循環(huán)第二層循環(huán) for ( K=1;K=2;K+) / for ( K=1;K=2;K+) /內(nèi)層循環(huán)內(nèi)層循環(huán) ch=(char)System.in.read(); ch=(char)System.in.read(); if (ch=c) break ; / if (ch=c) break ; /結(jié)束內(nèi)層循環(huán)語句結(jié)束內(nèi)層循環(huán)語句 System.out.println(333); System.out.println(333); if (ch=b) break ; / if (ch=b) break ; /結(jié)束第二層循環(huán)語句結(jié)束第二層

38、循環(huán)語句 System.out.println(222); System.out.println(222); if (ch=a) break ; / if (ch=a) break ; /結(jié)束最外層循環(huán)語句結(jié)束最外層循環(huán)語句 System.out.println(111); System.out.println(111); 例例. .不帶標(biāo)號(hào)的不帶標(biāo)號(hào)的breakbreak語句語句2.2.帶標(biāo)號(hào)的情況帶標(biāo)號(hào)的情況 標(biāo)號(hào)就是加在語句前面的一個(gè)合法的標(biāo)識(shí)符,其后跟一個(gè)冒號(hào)。如下標(biāo)號(hào)就是加在語句前面的一個(gè)合法的標(biāo)識(shí)符,其后跟一個(gè)冒號(hào)。如下所示:所示: 標(biāo)號(hào):語句標(biāo)號(hào):語句 標(biāo)號(hào)只是起到對(duì)語句標(biāo)識(shí)的作

39、用。標(biāo)號(hào)只是起到對(duì)語句標(biāo)識(shí)的作用。 帶標(biāo)號(hào)的帶標(biāo)號(hào)的breakbreak語句的功能是使程序語句的功能是使程序結(jié)束標(biāo)號(hào)指明的外層循環(huán)結(jié)束標(biāo)號(hào)指明的外層循環(huán)語句,執(zhí)行該外層循環(huán)語句的后繼語句。語句,執(zhí)行該外層循環(huán)語句的后繼語句。標(biāo)號(hào)應(yīng)該定義在標(biāo)號(hào)應(yīng)該定義在( (要結(jié)要結(jié)束的束的) )外層循環(huán)語句的開始處。外層循環(huán)語句的開始處。 帶標(biāo)號(hào)的帶標(biāo)號(hào)的breakbreak語句的一種典型用法就是實(shí)現(xiàn)語句的一種典型用法就是實(shí)現(xiàn)breakbreak語句所在的循環(huán)語句所在的循環(huán)的外層循環(huán)語句(從內(nèi)部直接跳出來)。的外層循環(huán)語句(從內(nèi)部直接跳出來)。 例如:例如:import java.io.*;class bre

40、akto_A public static void main(String args) throws IOException int i,j; char ch= ; A: /標(biāo)號(hào)標(biāo)號(hào)A, 外層循環(huán)外層循環(huán) for (i=1;i=2;i+ ) for ( j=1;j=1;j+) /內(nèi)層循環(huán)內(nèi)層循環(huán) ch = (char) System.in.read(); if (ch = a) break A; /結(jié)束結(jié)束A對(duì)應(yīng)的循環(huán)語句對(duì)應(yīng)的循環(huán)語句(外層循環(huán)外層循環(huán)) System.out.println(222); System.out.println(111); continuecontinue語句只

41、能在循環(huán)語句中使用。它和語句只能在循環(huán)語句中使用。它和breakbreak語句的區(qū)別是語句的區(qū)別是continuecontinue語句只結(jié)束所在循環(huán)語句的本次循環(huán),而不是終止整個(gè)循環(huán)語語句只結(jié)束所在循環(huán)語句的本次循環(huán),而不是終止整個(gè)循環(huán)語句的執(zhí)行;而句的執(zhí)行;而breakbreak語句則是結(jié)束整個(gè)循環(huán)語句的執(zhí)行。語句則是結(jié)束整個(gè)循環(huán)語句的執(zhí)行。continuecontinue語句語句的一般語法格式為:的一般語法格式為: continue continue 標(biāo)號(hào)標(biāo)號(hào) ; 其中,用其中,用“ ”“ ”括起的標(biāo)號(hào)部分是可選的。括起的標(biāo)號(hào)部分是可選的。1.1.不帶標(biāo)號(hào)的使用情況不帶標(biāo)號(hào)的使用情況 此時(shí)

42、,此時(shí),continuecontinue語句用來結(jié)束所在循環(huán)語句的本次循環(huán),即跳過循語句用來結(jié)束所在循環(huán)語句的本次循環(huán),即跳過循環(huán)體中環(huán)體中continuecontinue語句后面的語句,回到循環(huán)體的條件測(cè)試部分繼續(xù)執(zhí)行。語句后面的語句,回到循環(huán)體的條件測(cè)試部分繼續(xù)執(zhí)行。 不帶標(biāo)號(hào)不帶標(biāo)號(hào)continuecontinue語句和不帶標(biāo)號(hào)的語句和不帶標(biāo)號(hào)的breakbreak語句類似,只能對(duì)所在一語句類似,只能對(duì)所在一層的循環(huán)起作用。層的循環(huán)起作用。3.3.2 continue 語句語句public class continueto public class continueto public s

43、tatic void main(String args) public static void main(String args) throws IOException int I,J; char ch= ; int I,J; char ch= ; for (I=1;I=1;I+ ) / for (I=1;I=1;I+ ) /外層循環(huán)外層循環(huán) for (J=1;J=2;J+) / for (J=1;J=2;J+) /內(nèi)層循環(huán)內(nèi)層循環(huán) ch=(char)System.in.read(); ch=(char)System.in.read(); if (ch=b) continue; / if (c

44、h=b) continue; /結(jié)束內(nèi)層循環(huán)的本次循環(huán)結(jié)束內(nèi)層循環(huán)的本次循環(huán) System.out.println( System.out.println( 沒有結(jié)束內(nèi)循環(huán)!沒有結(jié)束內(nèi)循環(huán)! ); ); if (ch=a) continue; / if (ch=a) continue; /結(jié)束外層循環(huán)的本次循環(huán)結(jié)束外層循環(huán)的本次循環(huán) System.out.println( System.out.println( 沒有結(jié)束外循環(huán)!沒有結(jié)束外循環(huán)! ); ); 例:不帶標(biāo)號(hào)的例:不帶標(biāo)號(hào)的continuecontinue語句語句2.2.帶標(biāo)號(hào)的使用情況帶標(biāo)號(hào)的使用情況 此時(shí),此時(shí),continue

45、continue語句跳過標(biāo)號(hào)所指的循環(huán)語句所有余下語句跳過標(biāo)號(hào)所指的循環(huán)語句所有余下部分語句,回到標(biāo)號(hào)所指循環(huán)語句塊的條件測(cè)試部分繼續(xù)執(zhí)部分語句,回到標(biāo)號(hào)所指循環(huán)語句塊的條件測(cè)試部分繼續(xù)執(zhí)行。行。注意標(biāo)號(hào)應(yīng)該定義在注意標(biāo)號(hào)應(yīng)該定義在外層循環(huán)語句的開始處。外層循環(huán)語句的開始處。 下面是一個(gè)使用帶標(biāo)號(hào)的下面是一個(gè)使用帶標(biāo)號(hào)的continuecontinue語句的例子。語句的例子。import java.io.*;class continue_A public static void main(String args) throws IOException int i,j; char ch= ; A

46、: /標(biāo)號(hào)標(biāo)號(hào)A, 外層循環(huán)外層循環(huán) for (i=1;i=2;i+ ) for ( j=1;j=1;j+) /內(nèi)層循環(huán)內(nèi)層循環(huán) ch = (char) System.in.read(); if (ch = a) continue A; /結(jié)束結(jié)束A對(duì)應(yīng)的循環(huán)語句的本次循環(huán)對(duì)應(yīng)的循環(huán)語句的本次循環(huán) System.out.println(本次內(nèi)循環(huán)正常結(jié)束!本次內(nèi)循環(huán)正常結(jié)束!); System.out.println(本次外循環(huán)正常結(jié)束!本次外循環(huán)正常結(jié)束! ); n1 n2 數(shù)組是相同類型的數(shù)據(jù)元素按順序組成的一種復(fù)合數(shù)據(jù)數(shù)組是相同類型的數(shù)據(jù)元素按順序組成的一種復(fù)合數(shù)據(jù)類型,元素在數(shù)組中的相

47、對(duì)位置由下標(biāo)來指明。數(shù)組中的每個(gè)類型,元素在數(shù)組中的相對(duì)位置由下標(biāo)來指明。數(shù)組中的每個(gè)元素通過數(shù)組名加下標(biāo)進(jìn)行引用。數(shù)組作為一種特殊的數(shù)據(jù)類元素通過數(shù)組名加下標(biāo)進(jìn)行引用。數(shù)組作為一種特殊的數(shù)據(jù)類型具有以下特點(diǎn):型具有以下特點(diǎn): (1) (1) 一個(gè)數(shù)組中所有的元素應(yīng)該是同一類型;一個(gè)數(shù)組中所有的元素應(yīng)該是同一類型; (2) (2) 數(shù)組中的元素是有順序的;數(shù)組中的元素是有順序的; (3) (3) 數(shù)組中的一個(gè)元素通過數(shù)組名和數(shù)組下標(biāo)來確定。數(shù)組中的一個(gè)元素通過數(shù)組名和數(shù)組下標(biāo)來確定。數(shù)數(shù) 組組1) 1) 一維數(shù)組的說明與構(gòu)造一維數(shù)組的說明與構(gòu)造 與與C+C+中不同的是,中不同的是,JavaJa

48、va中數(shù)組要用中數(shù)組要用newnew操作符實(shí)例化才可使用。所以操作符實(shí)例化才可使用。所以建立一個(gè)數(shù)組需要兩步:建立一個(gè)數(shù)組需要兩步: 聲明數(shù)組聲明數(shù)組 實(shí)例化實(shí)例化 格式:格式: 類型類型 數(shù)組名數(shù)組名 ; (或(或: : 類型類型 數(shù)組名數(shù)組名;) 數(shù)組名數(shù)組名 = new = new 類型類型 數(shù)組長(zhǎng)度數(shù)組長(zhǎng)度 ; 說明:說明: 第一行聲明一個(gè)數(shù)組名第一行聲明一個(gè)數(shù)組名,并指明數(shù)組類型并指明數(shù)組類型(可任何類型)和維數(shù)和維數(shù); 第二行使用第二行使用newnew操作符構(gòu)造數(shù)組并初始化操作符構(gòu)造數(shù)組并初始化( (缺省值缺省值) ),即為數(shù)組元素分配存,即為數(shù)組元素分配存儲(chǔ)空間,并為每個(gè)數(shù)組元素

49、都賦予一個(gè)初值。儲(chǔ)空間,并為每個(gè)數(shù)組元素都賦予一個(gè)初值。1.一維數(shù)組一維數(shù)組(可含有變量) 上面的第二步實(shí)例化可以暫時(shí)不做,到需要時(shí)再完成。也可將上面的上面的第二步實(shí)例化可以暫時(shí)不做,到需要時(shí)再完成。也可將上面的二步合并為一步:二步合并為一步: 類型類型 數(shù)組名數(shù)組名 = new = new 類型類型 數(shù)組長(zhǎng)度數(shù)組長(zhǎng)度 ;例:例: int list ;list ; /聲明一個(gè)整型數(shù)組聲明一個(gè)整型數(shù)組 list = new int3; /為上面聲明的數(shù)組分配為上面聲明的數(shù)組分配3 3個(gè)整數(shù)元素個(gè)整數(shù)元素 /的內(nèi)存空間,并使每個(gè)元素初值為的內(nèi)存空間,并使每個(gè)元素初值為0 0 合并為一步:合并為一步

50、: int list = new int3; 2) 2) 數(shù)組的初始化數(shù)組的初始化 數(shù)組初始化就是為數(shù)組元素指定初始值。通常在構(gòu)造數(shù)組數(shù)組初始化就是為數(shù)組元素指定初始值。通常在構(gòu)造數(shù)組時(shí),時(shí),JaveJave會(huì)使每個(gè)數(shù)組元素初始化為一個(gè)默認(rèn)值。但在許多會(huì)使每個(gè)數(shù)組元素初始化為一個(gè)默認(rèn)值。但在許多情況下,并不希望數(shù)組的初值為默認(rèn)值,此時(shí),就需要用賦情況下,并不希望數(shù)組的初值為默認(rèn)值,此時(shí),就需要用賦值語句來對(duì)數(shù)組進(jìn)行初始化。值語句來對(duì)數(shù)組進(jìn)行初始化。 數(shù)組的初始化方式有兩種:數(shù)組的初始化方式有兩種: 一、像初始化簡(jiǎn)單類型一樣自動(dòng)初始化數(shù)組一、像初始化簡(jiǎn)單類型一樣自動(dòng)初始化數(shù)組( (不用不用new

51、)new),即在說明數(shù)組的同時(shí)進(jìn)行初始化即在說明數(shù)組的同時(shí)進(jìn)行初始化( (稱為靜態(tài)初始化稱為靜態(tài)初始化) ); 二、僅用二、僅用newnew創(chuàng)建數(shù)組,讓它取缺省值,到以后再為元素創(chuàng)建數(shù)組,讓它取缺省值,到以后再為元素賦值賦值( (稱為動(dòng)態(tài)初始化稱為動(dòng)態(tài)初始化) )。 例:例:int a =1,2,3,4,5; /int a =1,2,3,4,5; /靜態(tài)初始化靜態(tài)初始化 int list = new int3;int list = new int3; /動(dòng)態(tài)初始化動(dòng)態(tài)初始化 上面的第一個(gè)語句聲明并創(chuàng)建了數(shù)組上面的第一個(gè)語句聲明并創(chuàng)建了數(shù)組a a,并且為數(shù)組每個(gè)元素賦初,并且為數(shù)組每個(gè)元素賦初值

52、,結(jié)果為:值,結(jié)果為: a0=1,a1=2,a2,=3,a3=4,a4=5a0=1,a1=2,a2,=3,a3=4,a4=5 上面的第二個(gè)語句僅聲明并創(chuàng)建了數(shù)組上面的第二個(gè)語句僅聲明并創(chuàng)建了數(shù)組a a,并未給數(shù)組賦初值,并未給數(shù)組賦初值, 由由Jave為數(shù)組元素默認(rèn)初始化,于是得到三個(gè)元素并且都有初值:為數(shù)組元素默認(rèn)初始化,于是得到三個(gè)元素并且都有初值: list0=0, 0=0, list1=0, 1=0, list2=02=0 注意:注意:“”中所有數(shù)據(jù)的類型必須與數(shù)組的類型相同中所有數(shù)據(jù)的類型必須與數(shù)組的類型相同 3) 3) 數(shù)組元素的使用數(shù)組元素的使用 數(shù)組被實(shí)例化后,就可以在程序中像

53、使用任何變量一樣來使用數(shù)組元數(shù)組被實(shí)例化后,就可以在程序中像使用任何變量一樣來使用數(shù)組元素,即可以在任何允許使用變量的地方使用數(shù)組元素。數(shù)組元素的標(biāo)識(shí)素,即可以在任何允許使用變量的地方使用數(shù)組元素。數(shù)組元素的標(biāo)識(shí)方式為:方式為: 數(shù)組名數(shù)組名 下標(biāo)下標(biāo) 例:例: a3a3、bibi、cici* *55 下標(biāo)的取值范圍是從下標(biāo)的取值范圍是從0 0開始,一直到數(shù)組的長(zhǎng)度減開始,一直到數(shù)組的長(zhǎng)度減1 1。對(duì)于上面例子中。對(duì)于上面例子中的的listlist數(shù)組來說,它有數(shù)組來說,它有3 3個(gè)元素,分別為:個(gè)元素,分別為: list0 list0、list1list1、list2list2(注意:不存在

54、(注意:不存在list3list3)注意:注意: 1.1.下標(biāo)只能為下標(biāo)只能為bytebyte、shortshort、intint或或charchar類型類型,不能為不能為longlong; 2.Java2.Java在程序編譯時(shí)并不對(duì)數(shù)組下標(biāo)進(jìn)行越界檢查在程序編譯時(shí)并不對(duì)數(shù)組下標(biāo)進(jìn)行越界檢查, ,但在運(yùn)行時(shí)會(huì)對(duì)數(shù)但在運(yùn)行時(shí)會(huì)對(duì)數(shù)組下標(biāo)進(jìn)行越界檢查,以保證安全性。組下標(biāo)進(jìn)行越界檢查,以保證安全性。 JavaJava中的數(shù)組實(shí)際是中的數(shù)組實(shí)際是ArrayArray類的一個(gè)對(duì)象,定義一個(gè)數(shù)組實(shí)際就是創(chuàng)類的一個(gè)對(duì)象,定義一個(gè)數(shù)組實(shí)際就是創(chuàng)建建ArrayArray類的一個(gè)對(duì)象。該類中還有一些屬性和方法供

55、數(shù)組使用。如對(duì)于類的一個(gè)對(duì)象。該類中還有一些屬性和方法供數(shù)組使用。如對(duì)于每個(gè)數(shù)組都有一個(gè)屬性:每個(gè)數(shù)組都有一個(gè)屬性:lengthlength,它指明數(shù)組的長(zhǎng)度,它指明數(shù)組的長(zhǎng)度( (即元素個(gè)數(shù)即元素個(gè)數(shù)) ),由程,由程序自動(dòng)計(jì)算。例如,序自動(dòng)計(jì)算。例如,list.lengthlist.length指明了數(shù)組指明了數(shù)組listlist的長(zhǎng)度。的長(zhǎng)度。 JavaJava中的數(shù)組還可利用數(shù)組名來互相賦值,但要注意,這種賦值實(shí)際中的數(shù)組還可利用數(shù)組名來互相賦值,但要注意,這種賦值實(shí)際是定義一個(gè)別名,即是同一數(shù)組的不同名字的引用。例如:是定義一個(gè)別名,即是同一數(shù)組的不同名字的引用。例如: int a=

56、2,4,6, b; b=a; System.out.println(b1); /輸出輸出4 b1=7; System.out.println(a1); /輸出輸出7 4) 4) 一維數(shù)組應(yīng)用示例一維數(shù)組應(yīng)用示例例例. . 編寫一個(gè)程序,在其中建立一個(gè)有編寫一個(gè)程序,在其中建立一個(gè)有1010個(gè)整數(shù)的數(shù)個(gè)整數(shù)的數(shù)組,運(yùn)行后從鍵盤輸入組,運(yùn)行后從鍵盤輸入1010個(gè)整數(shù)放入數(shù)組,然后輸出個(gè)整數(shù)放入數(shù)組,然后輸出其中的最大數(shù)。其中的最大數(shù)。 import java.io.*; public class Array1public static void main(String args) throws I

57、OException int i, max, a=new int10; byte buf=new byte20; String str; 程序如下:程序如下: System.out.println(請(qǐng)輸入請(qǐng)輸入10個(gè)數(shù):個(gè)數(shù):); for(i=0; i=9; i+) /輸入輸入10個(gè)數(shù)個(gè)數(shù), 以回車分隔以回車分隔 System.in.read(buf); str=new String(buf); ai=Integer.parseInt(str.trim(); max=a0; for(i=1; i=9; i+) /找最大數(shù)找最大數(shù) if(maxai) max=ai; System.out.pri

58、ntln(最大數(shù)是最大數(shù)是+max); 與與C+C+中類似,在中類似,在JavaJava中,當(dāng)一維數(shù)組中的類型又是一個(gè)一維數(shù)組時(shí),中,當(dāng)一維數(shù)組中的類型又是一個(gè)一維數(shù)組時(shí),就構(gòu)成了二維數(shù)組,以此類推,可構(gòu)成更高維的數(shù)組。所以,多維數(shù)組是就構(gòu)成了二維數(shù)組,以此類推,可構(gòu)成更高維的數(shù)組。所以,多維數(shù)組是通過對(duì)一維數(shù)組的嵌套聲明來實(shí)現(xiàn)的。通過對(duì)一維數(shù)組的嵌套聲明來實(shí)現(xiàn)的。 多維數(shù)組與一維數(shù)組一樣,需要聲明并實(shí)例化后才可使用。下面主要以多維數(shù)組與一維數(shù)組一樣,需要聲明并實(shí)例化后才可使用。下面主要以二維數(shù)組為例來說明用法。二維數(shù)組為例來說明用法。1) 1) 二維數(shù)組的說明與創(chuàng)建二維數(shù)組的說明與創(chuàng)建 二維

59、數(shù)組說明的格式為:二維數(shù)組說明的格式為: 類型類型 數(shù)組名數(shù)組名 ;( (或或 類型類型 數(shù)組名;數(shù)組名;) ) 例如:例如: intint intArray intArray ; 與一維數(shù)組一樣,此時(shí)還沒有為數(shù)組元素分配內(nèi)存空間,還需要用與一維數(shù)組一樣,此時(shí)還沒有為數(shù)組元素分配內(nèi)存空間,還需要用newnew關(guān)鍵字來創(chuàng)建數(shù)組,然后才可以使用該數(shù)組的每個(gè)元素。關(guān)鍵字來創(chuàng)建數(shù)組,然后才可以使用該數(shù)組的每個(gè)元素。2. 多維數(shù)組多維數(shù)組 對(duì)二維數(shù)組來說,分配內(nèi)存空間有下面幾種方法。對(duì)二維數(shù)組來說,分配內(nèi)存空間有下面幾種方法。 直接為每一維分配空間,如:直接為每一維分配空間,如: int a = new

60、 int23int a = new int23; 該語句創(chuàng)建了一個(gè)二維數(shù)組該語句創(chuàng)建了一個(gè)二維數(shù)組a a,其較高一維含兩個(gè)元素,每個(gè)元素為由,其較高一維含兩個(gè)元素,每個(gè)元素為由3 3個(gè)整型數(shù)構(gòu)成的一維整型數(shù)組。如下所示:個(gè)整型數(shù)構(gòu)成的一維整型數(shù)組。如下所示:a00 a01 a02 a10 a11 a12 從最高維開始,分別為每一維分配空間,如:從最高維開始,分別為每一維分配空間,如: b00 b01 b02 b10 b11 b12 b13 b14 int b = new int2 int b = new int2 ;/最高維含最高維含2 2個(gè)元素,每個(gè)元素,每 /個(gè)元素為一個(gè)整型數(shù)組個(gè)元素為一

溫馨提示

  • 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)論