Javappt課件(劉壽強(qiáng))第4章_第1頁(yè)
Javappt課件(劉壽強(qiáng))第4章_第2頁(yè)
Javappt課件(劉壽強(qiáng))第4章_第3頁(yè)
Javappt課件(劉壽強(qiáng))第4章_第4頁(yè)
Javappt課件(劉壽強(qiáng))第4章_第5頁(yè)
已閱讀5頁(yè),還剩30頁(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、J a v aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) )4.1 4.1 數(shù)組數(shù)組 4.1.1 4.1.1 一維數(shù)組一維數(shù)組 4.1.2 4.1.2 多維數(shù)組多維數(shù)組4.2 4.2 方法方法 4.2.1 4.2.1 方法聲明方法聲明 4.2.2 4.2.2 方法調(diào)用方法調(diào)用 4.2.3 4.2.3 參數(shù)傳遞參數(shù)傳遞 4.2.4 4.2.4 遞歸遞歸 4.3 Java4.3 Java的命令行參數(shù)的命令行參數(shù)J a v aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) )1. 1. 聲明數(shù)組聲明數(shù)組

2、格式格式1 1: 數(shù)組元素類型數(shù)組元素類型 數(shù)組名數(shù)組名 ; ; 格式格式2 2: 數(shù)組元素類型數(shù)組元素類型 數(shù)組名數(shù)組名 ; ; 其中,數(shù)組元素的類型可以是基本類型,也可以是類或接口。其中,數(shù)組元素的類型可以是基本類型,也可以是類或接口。 例如,要保存某批學(xué)生的成績(jī),可以定義一個(gè)數(shù)組例如,要保存某批學(xué)生的成績(jī),可以定義一個(gè)數(shù)組scorescore, ,聲明如下:聲明如下:intint score; score; 或者或者 intint score; score; 一維數(shù)組與數(shù)學(xué)上的數(shù)列有著很大的相似性。一維數(shù)組與數(shù)學(xué)上的數(shù)列有著很大的相似性。a1,a2,a3a1,a2,a3特點(diǎn)也是元素名字相

3、同,下標(biāo)不同。特點(diǎn)也是元素名字相同,下標(biāo)不同。 創(chuàng)建一維數(shù)組需要以下三個(gè)步驟創(chuàng)建一維數(shù)組需要以下三個(gè)步驟: :4.1 數(shù)組數(shù)組J a v aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) ) 2. 2. 創(chuàng)建數(shù)組空間創(chuàng)建數(shù)組空間 給已聲明的數(shù)組分配空間給已聲明的數(shù)組分配空間: : 數(shù)組名數(shù)組名 = new = new 數(shù)組元素類型數(shù)組元素類型 元素個(gè)數(shù)元素個(gè)數(shù); ; 例如,例如,score = new int10; score = new int10; 在聲明數(shù)組的同時(shí)給數(shù)組規(guī)定在聲明數(shù)組的同時(shí)給數(shù)組規(guī)定空間,兩步合并??臻g,兩步合并。 例如:例如

4、:int score = new int10; /創(chuàng)建同時(shí)聲明創(chuàng)建同時(shí)聲明 score00 score1 0 score2 0 score3 0 score4 0 score5 0 score6 0 score7 0 score8 0 score9 0 J a v aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) )public public class Test class Test public static void main(String public static void main(String argvargv) ) intint x

5、 x = = new new intint22; ; System.out.printlnSystem.out.println(x2);(x2); A.A.編譯編譯錯(cuò)誤錯(cuò)誤; ; B.B.null null C.C.0 0 D.D.運(yùn)行運(yùn)行時(shí)出現(xiàn)時(shí)出現(xiàn)異常異常以下程序以下程序調(diào)試調(diào)試結(jié)果為結(jié)果為? ?如果為如果為X1呢?呢?J a v aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) )3. 3. 創(chuàng)建數(shù)組元素并初始化創(chuàng)建數(shù)組元素并初始化 格式如下:格式如下: 格式格式1 1:類型:類型 數(shù)組名數(shù)組名 = = 初值表初值表 ; ;格式格式2 2:類

6、型:類型 數(shù)組數(shù)組名名 = = new new 類型類型 初值表初值表 ; ;例如:例如: intint score = 1,2,3,4,5,6,7,8,9,10; score = 1,2,3,4,5,6,7,8,9,10; intint score =new score =new intint 1,2,3,4,5,6,7,8,9,10; 1,2,3,4,5,6,7,8,9,10; score.length 指明數(shù)組指明數(shù)組score的長(zhǎng)度。的長(zhǎng)度。J a v aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) )例例4-1 4-1 求求1010個(gè)學(xué)

7、生的平均成績(jī)個(gè)學(xué)生的平均成績(jī)( (未完)未完) public class Ex4_1 public class Ex4_1 public static void main(String public static void main(String argsargs) ) intint score = new score = new intint1010; ; for (for (intint k = 0; k k = 0; k score.lengthscore.length; k+) ; k+) scorekscorek = ( = (intint) () (Math.randomMath.

8、random( ) ( ) * * 101 101); ); System.out.printSystem.out.print(scorek(scorek + t); + t); System.out.printlnSystem.out.println( ( ); ); J a v aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) )學(xué)生的平均成績(jī)學(xué)生的平均成績(jī)( (續(xù))續(xù)) / /* * 以下計(jì)算輸出平均成績(jī)以下計(jì)算輸出平均成績(jī) * */ / intint sum=0; sum=0; for ( for (intint k=0; k k=0; k

9、score.lengthscore.length ;k+) ;k+) sum+=scorek; sum+=scorek; System.out.printlnSystem.out.println( (平均成績(jī)?yōu)椋浩骄煽?jī)?yōu)椋?+sum/ +sum/score.lengthscore.length); ); 用特殊用特殊for循環(huán)循環(huán)訪問(wèn)數(shù)組訪問(wèn)數(shù)組 for (元素類型元素類型 循環(huán)變量名循環(huán)變量名 : 數(shù)組名數(shù)組名) 循環(huán)體循環(huán)體 以上,以上,求數(shù)組所有元素之和可改寫(xiě)為求數(shù)組所有元素之和可改寫(xiě)為: for (int x:score) sum += x; 其中其中, x的取值隨循環(huán)從的取值隨循環(huán)

10、從score0,score1,score9變化。變化。這里,不能在循環(huán)中給數(shù)組元素賦值這里,不能在循環(huán)中給數(shù)組元素賦值J a v aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) )以下代碼的輸出結(jié)果以下代碼的輸出結(jié)果? ?class test3class test3 public static void main(String args ) public static void main(String args ) int a=1,2,3,4; int a=1,2,3,4; for (int i=0;i4;i+) for (int i=0;i4;

11、i+) ai=ai+i; ai=ai+i; for(int b:a) for(int b:a) System.out.println(b); System.out.println(b); 1 13 35 57 7J a v aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) )public class Java_3 public class Java_3 public static void main(String args) public static void main(String args) int anArray; / int anArra

12、y; / 聲明一個(gè)整型數(shù)組聲明一個(gè)整型數(shù)組 anArray = _; / anArray = _; / 創(chuàng)建數(shù)組創(chuàng)建數(shù)組, ,包含包含1010個(gè)元素。個(gè)元素。 / / 給數(shù)組每個(gè)元素賦值并打印輸出給數(shù)組每個(gè)元素賦值并打印輸出 for (int i = 0; i anArray.length; i+) for (int i = 0; i anArray.length; i+) _=i; _=i; System.out.print(anArrayi + ); System.out.print(anArrayi + ); System.out.println(); System.out.printl

13、n(); new int10anArrayi等級(jí)考試上機(jī)題等級(jí)考試上機(jī)題-輸出結(jié)果為輸出結(jié)果為: 0 1 2 3 4 5 6 7 8 9J a v aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) ) 等級(jí)考試上機(jī)題等級(jí)考試上機(jī)題-將程序補(bǔ)充完整將程序補(bǔ)充完整public class Java_2 public class Java_2 public static void main(String args) public static void main(String args) int arrayOfInts = 32, 87, 3, 59,

14、12, 106, 20, 8, 62, 127 ; int arrayOfInts = 32, 87, 3, 59, 12, 106, 20, 8, 62, 127 ; int searchfor = 12; int searchfor = 12; int i = 0; int i = 0; boolean foundIt = false; boolean foundIt = false; for ( ; i for ( ; i ; i+) ; i+) if (arrayOfIntsi = searchfor) if (arrayOfIntsi = searchfor) foundIt = f

15、oundIt = ; break; ; break; if (foundIt) System.out.println(Found + searchfor if (foundIt) System.out.println(Found + searchfor + at index + i); + at index + i); else System.out.println(searchfor + not in the array); else System.out.println(searchfor + not in the array); arrayOfInts.lengthtrueJ a v a

16、J a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) )例例4-2 4-2 將一維數(shù)組元素按由小到大排列將一維數(shù)組元素按由小到大排列 public class TestSort public class TestSort public static void main(String args ) public static void main(String args ) int a = 4,6,3,8,5,3,7,1,9,2;int a = 4,6,3,8,5,3,7,1,9,2;int n= a.length;int n= a.length;Syste

17、m.out.println(System.out.println(排序前排序前););for (int k=0;kn;k+)for (int k=0;kn;k+) System.out.print( + ak); System.out.print( + ak);System.out.println();System.out.println();4385371926J a v aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) ) for (int i=0; in -1; i+)for (int i=0; in -1; i+) for (int j=

18、for (int j=i+1i+1;jn;j+);jaj) if (aiaj) / /* * 交換交換aiai和和aj aj * */ / int temp=ai; int temp=ai; ai=aj; ai=aj; aj=temp; aj=temp; System.out.println( System.out.println(排序后排序后);); for (int k=0;kn;k+) for (int k=0;kn;k+) System.out.print( + ak); System.out.print( + ak); 13345678924385371926排序后排序前J a v

19、aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) ) ArraysArrays類類 Arrays Arrays類封裝類封裝了對(duì)數(shù)組進(jìn)行操作的一系列靜態(tài)方法了對(duì)數(shù)組進(jìn)行操作的一系列靜態(tài)方法。p利用利用ArraysArrays類的類的sortsort方法可方便地對(duì)數(shù)組排序方法可方便地對(duì)數(shù)組排序。 例如例如: java.util.Arrays.sortjava.util.Arrays.sort(a) (a) ; /; /等價(jià)于等價(jià)于前前面程序面程序藍(lán)藍(lán)色部分色部分p利用利用ArraysArrays類的類的toStringtoString() ()方法可以

20、將數(shù)組轉(zhuǎn)化為字符串方法可以將數(shù)組轉(zhuǎn)化為字符串的形式。例如的形式。例如:System.out.printSystem.out.print( ( java.util.Arrays.toStringjava.util.Arrays.toString(a)(a) ); ); J a v aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) )1. 1. 二維數(shù)組聲明二維數(shù)組聲明格式格式1 1:數(shù)組元素類型:數(shù)組元素類型 數(shù)組名數(shù)組名 ; ; 格式格式2 2:數(shù)組元素類型:數(shù)組元素類型 數(shù)組名數(shù)組名; ; 例如:例如:int a; int a; J a v aJ

21、 a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) )2. 2. 創(chuàng)建二維數(shù)組空間創(chuàng)建二維數(shù)組空間(1 1)直接為每一維分配空間,如:)直接為每一維分配空間,如: int a = new int 23; int a = new int 23; (2 2)從最高維開(kāi)始,按由高到低的順序分別為每一維分配)從最高維開(kāi)始,按由高到低的順序分別為每一維分配空間。如:空間。如: int a = new int 2; int a = new int 2; a0 = new int 3; a0 = new int 3; a1 = new int 4; a1 = new

22、int 4; 二維數(shù)組看作是數(shù)組的數(shù)組,不要求二維數(shù)組每一維的大小相同二維數(shù)組看作是數(shù)組的數(shù)組,不要求二維數(shù)組每一維的大小相同 J a v aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) ) 二維數(shù)組中求數(shù)組長(zhǎng)度二維數(shù)組中求數(shù)組長(zhǎng)度要獲取數(shù)組的行數(shù),可以通過(guò)如下方式獲得:要獲取數(shù)組的行數(shù),可以通過(guò)如下方式獲得: 數(shù)組名數(shù)組名.length.length 數(shù)組的列數(shù)則要先確定行,再通過(guò)如下方式獲取列數(shù):數(shù)組的列數(shù)則要先確定行,再通過(guò)如下方式獲取列數(shù): 數(shù)組名數(shù)組名 行標(biāo)行標(biāo).length .length J a v aJ a v a 語(yǔ) 言 程 序

23、 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) )例例4-3 4-3 二維數(shù)組動(dòng)態(tài)創(chuàng)建示例二維數(shù)組動(dòng)態(tài)創(chuàng)建示例public class ArrayOfArraysDemo2 public class ArrayOfArraysDemo2 public static void main(String args) public static void main(String args) int aMatrix = new int4; int aMatrix = new int4; for (int i = 0; i for (int i = 0; i aMatrix.lengtha

24、Matrix.length; i+) ; i+) aMatrixi = new inti+1; aMatrixi = new inti+1; for (int j = 0; j for (int j = 0; j aMatrixi.lengthaMatrixi.length; j+) ; j+) aMatrixij = i + j; aMatrixij = i + j; for (int i = 0; i aMatrix.length; i+) for (int i = 0; i aMatrix.length; i+) for (int j = 0; j aMatrixi.length; j+

25、) for (int j = 0; j aMatrixi.length; j+) System.out.print(aMatrixij + ); System.out.print(aMatrixij + ); System.out.println(); System.out.println(); J a v aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) )3. 3. 創(chuàng)建數(shù)組元素并初始化創(chuàng)建數(shù)組元素并初始化 元素是基本類型,系統(tǒng)將按默認(rèn)規(guī)則賦初值。元素是基本類型,系統(tǒng)將按默認(rèn)規(guī)則賦初值。元素類型為其它引用類型,則其所有元素為未賦初值狀態(tài)元素類型

26、為其它引用類型,則其所有元素為未賦初值狀態(tài)(nullnull)。)。 在數(shù)組定義時(shí)同時(shí)進(jìn)行初始化,如:在數(shù)組定義時(shí)同時(shí)進(jìn)行初始化,如: int a = 1,2,3,4,5,6; int a = 1,2,3,4,5,6; int b = 1,2,4,5,6; int b = 1,2,4,5,6; 更為常見(jiàn)的做法是在數(shù)組定義后通過(guò)循環(huán)語(yǔ)句給數(shù)組賦值。更為常見(jiàn)的做法是在數(shù)組定義后通過(guò)循環(huán)語(yǔ)句給數(shù)組賦值。 J a v aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) )4.2.1 4.2.1 方法聲明格式方法聲明格式修飾符修飾符1 1 修飾符修飾符2 .

27、2 . 返回值類型返回值類型 方法名方法名( (形參表形參表) ) throws throws 異常列表異常列表 方法體各語(yǔ)句方法體各語(yǔ)句 ; ; n return返回值必須與方法頭定義的返回值必須與方法頭定義的返回值類型返回值類型相匹配相匹配l return 表達(dá)式表達(dá)式 ; /方法返回結(jié)果為表達(dá)式的值方法返回結(jié)果為表達(dá)式的值l return; /用于無(wú)返回用于無(wú)返回值值(void)(void)的的方法退出方法退出格式如下格式如下: : 類型類型1 1 參數(shù)名參數(shù)名 1, 1, 類型類型2 2 參數(shù)名參數(shù)名2 2,.,.有返回值類型的方法必須有返回值類型的方法必須有有returnreturn

28、語(yǔ)句語(yǔ)句方法體方法體給給出方法的具體出方法的具體實(shí)現(xiàn)實(shí)現(xiàn)方法頭方法頭定義定義方法的訪問(wèn)方法的訪問(wèn)形態(tài)形態(tài)J a v aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) ) / /* * 求求n!n!的方法的方法facfac(n) (n) * */ / public static public static longlong facfac( (intint n) n) long res=1; long res=1; for ( for (intint k=2;k= k=2;k=n;kn;k+)+) res = res res = res * * k;

29、k; return return resres; ; 例:求例:求階乘的方法階乘的方法n!=1n!=1* *2 2* *3 3* *4 4* * *n n方法頭方法頭方法體方法體調(diào)用方法只需關(guān)注方法頭!調(diào)用方法只需關(guān)注方法頭!J a v aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) )求求5 5!+8+8!+10+10! long s = long s = facfac(5)+ (5)+ facfac(8)+ (8)+ facfac(10);(10);求求1!+2!+3!+4!+.+10!1!+2!+3!+4!+.+10! long s=0;l

30、ong s=0; for for ( (intint m=1;m m=1;m=10;m+)=10;m+) s += s += facfac(m);(m);4.2.2 4.2.2 方法調(diào)用方法調(diào)用形式:方法名(形式:方法名(實(shí)參表實(shí)參表)實(shí)參的個(gè)數(shù)、類型、順序要與形參對(duì)應(yīng)匹配。 實(shí)實(shí)參為整常數(shù)參為整常數(shù)實(shí)參為整數(shù)類型變量實(shí)參為整數(shù)類型變量public static public static longlong facfac( (intint n) n) 用循環(huán)實(shí)現(xiàn)累加用循環(huán)實(shí)現(xiàn)累加J a v aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) )第第1

31、 1步:參數(shù)傳遞,將實(shí)參的值傳遞給形參;步:參數(shù)傳遞,將實(shí)參的值傳遞給形參;第第2 2步步: : 執(zhí)行方法體執(zhí)行方法體; ;第第3 3步:步:returnreturn語(yǔ)句返回方法結(jié)果語(yǔ)句返回方法結(jié)果給調(diào)用者給調(diào)用者;程序從調(diào)用該方法之后處繼續(xù)執(zhí)行。程序從調(diào)用該方法之后處繼續(xù)執(zhí)行。 public static public static longlong facfac( (intint n) n) long res=1; long res=1; for ( for (intint k=2;k= k=2;k=n;kn;k+)+) res = res res = res * * k; k; retu

32、rn return resres; ; long s = long s = facfac(5)+ (5)+ facfac(8)+ (8)+ facfac(10);(10);J a v aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) )例例4-4 4-4 編寫(xiě)編寫(xiě)求階乘的方法,并利用求階乘的方法實(shí)現(xiàn)一求階乘的方法,并利用求階乘的方法實(shí)現(xiàn)一個(gè)求組合的方法個(gè)求組合的方法, ,利用求組合方法計(jì)算輸出楊輝三角形。利用求組合方法計(jì)算輸出楊輝三角形。public public class Ex4_4class Ex4_4 / /* * 求求n!n!的方法的方法

33、facfac(n) (n) * */ / public static long public static long facfac( (intint n) n) long res=1; long res=1; for ( for (intint k=2;k= k=2;k=n;kn;k+)+) res = res res = res * * k; k; return res; return res; J a v aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) )/* 求求n個(gè)中取個(gè)中取m個(gè)的組合方法個(gè)的組合方法 */ public static l

34、ong c(int n , int m) return fac(n) / (fac(n-m) * fac(m) ); public static void main(String args ) for (int n=0;n=3;n+) for (int m=0;m=n;m+) System.out.print( c (n, m) + ); System.out.println( ); 1 11 11 11 2 11 2 11 3 3 11 3 3 1c(0,0) c(0,0) c(1,0) c(1,0) c(1,1 c(1,1) ) c(2,0) c(2,0) c(2,1 c(2,1) ) c

35、(2,2 c(2,2) ) c(3,0) c(3,0) c(3,1 c(3,1) ) c(3,2) c(3,2) c(3,3c(3,3) )J a v aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) )4.2.3 4.2.3 參數(shù)傳遞參數(shù)傳遞 p基本數(shù)據(jù)類型基本數(shù)據(jù)類型實(shí)參單元存儲(chǔ)的是變量值,是將實(shí)參數(shù)據(jù)傳遞給形參實(shí)參單元存儲(chǔ)的是變量值,是將實(shí)參數(shù)據(jù)傳遞給形參; ; 在方法內(nèi)對(duì)形參的修改不影響實(shí)參在方法內(nèi)對(duì)形參的修改不影響實(shí)參。 實(shí)參實(shí)參m5 5形參形參x Java Java方法參數(shù)傳遞是以方法參數(shù)傳遞是以傳值傳值的方式進(jìn)行,實(shí)參值傳的方式進(jìn)行,

36、實(shí)參值傳遞給形參。遞給形參。 數(shù)據(jù)類型分基本類型和引用類型。數(shù)據(jù)類型分基本類型和引用類型。5J a v aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) )例例4-5 4-5 基本類型參數(shù)傳遞演示基本類型參數(shù)傳遞演示 public class Test1public class Test1 static void paraPass(int x) static void paraPass(int x) x = x+1; x = x+1; System.out.println(x= +x);System.out.println(x= +x); publ

37、ic static void main(String args) public static void main(String args) int m=5;int m=5; paraPass(m); paraPass(m); System.out.println(m= +m); System.out.println(m= +m); 565mxx=6m=5J a v aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) )2. 2. 引用類型參數(shù)傳遞引用類型參數(shù)傳遞p 引用類型(如對(duì)象、數(shù)組等)參數(shù)引用類型(如對(duì)象、數(shù)組等)參數(shù), 實(shí)參單元存儲(chǔ)的是地址,

38、是將對(duì)實(shí)參單元存儲(chǔ)的是地址,是將對(duì)象引用地址傳遞給形參。方法內(nèi)通過(guò)形參訪問(wèn)的就是實(shí)參的對(duì)象。象引用地址傳遞給形參。方法內(nèi)通過(guò)形參訪問(wèn)的就是實(shí)參的對(duì)象。實(shí)參實(shí)參a對(duì)象引用對(duì)象引用形參形參x實(shí)參和形參代表同一對(duì)象實(shí)參和形參代表同一對(duì)象對(duì)象引用對(duì)象引用J a v aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) )例例4-6 4-6 引用類型的參數(shù)傳遞引用類型的參數(shù)傳遞public class Test2 public class Test2 static void static void paraRefparaRef( (intint x ) x )

39、x1=x1+1; x1=x1+1; public static void main(String public static void main(String argsargs) ) intint a = 1 , 4 , 6 , 3 ; a = 1 , 4 , 6 , 3 ; paraRefparaRef(a);(a); for ( for (intint k=0;k k=0;ka.length;ka.length;k+)+) System.out.printSystem.out.print (ak+ (ak+ t);t); a1463x地址地址引用地址引用地址51 5 6 31 5 6 3J

40、 a v aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) )以下代碼的輸出結(jié)果以下代碼的輸出結(jié)果? ?public class Testpublic class Test static int x=5; static int x=5; public static void main(String argv ) public static void main(String argv ) change(x); change(x); x+; x+; System.out.println(x); System.out.println(x); static

41、 void change(int m) static void change(int m) m+=2; m+=2; A. 7 B. 6 C. 5 D. 8 A. 7 B. 6 C. 5 D. 8 J a v aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) )思考程序運(yùn)行結(jié)果思考程序運(yùn)行結(jié)果? ?class class Test3Test3 public static void main(String public static void main(String argsargs ) )intint a =1,2,3,4; a =1,2,3,4;i

42、ntint m= m=f(a);f(a);System.out.printlnSystem.out.println(m=+m);(m=+m);for (for (intint k= k=0;k0;k a.length;ka.length;k+)+) System.out.printSystem.out.print(ak(ak+t);+t); static int f(int b ) int s=0;for (int k=0; kb.length;k+) s+=bk; bk+;return s;m=10m=102 3 4 52 3 4 5J a v aJ a v a 語(yǔ) 言 程 序 設(shè) 計(jì)語(yǔ) 言 程 序 設(shè) 計(jì) ( ( 第第 2 2 版版 ) )遞歸求階乘遞歸求階乘 static int fac (int n)static int fac (int n) if (n=1) if (n=1) return 1; return 1; else else return return n n* *fac(n-1);fac(n-1); n=3函數(shù)值函數(shù)值: 3*fac(2)求求fac(3)函數(shù)值函數(shù)值: 2*fac(1)n=2求求fac(2)callreturnn

溫馨提示

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