![第5章程序與函數(shù)的類別方法解讀課件_第1頁(yè)](http://file4.renrendoc.com/view/93e9e1b30eddac911d86aa16d297f58b/93e9e1b30eddac911d86aa16d297f58b1.gif)
![第5章程序與函數(shù)的類別方法解讀課件_第2頁(yè)](http://file4.renrendoc.com/view/93e9e1b30eddac911d86aa16d297f58b/93e9e1b30eddac911d86aa16d297f58b2.gif)
![第5章程序與函數(shù)的類別方法解讀課件_第3頁(yè)](http://file4.renrendoc.com/view/93e9e1b30eddac911d86aa16d297f58b/93e9e1b30eddac911d86aa16d297f58b3.gif)
![第5章程序與函數(shù)的類別方法解讀課件_第4頁(yè)](http://file4.renrendoc.com/view/93e9e1b30eddac911d86aa16d297f58b/93e9e1b30eddac911d86aa16d297f58b4.gif)
![第5章程序與函數(shù)的類別方法解讀課件_第5頁(yè)](http://file4.renrendoc.com/view/93e9e1b30eddac911d86aa16d297f58b/93e9e1b30eddac911d86aa16d297f58b5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第5章 程序與函數(shù)的類別方法5-1 程序與函數(shù)的基礎(chǔ)5-2 Java的類別方法5-3 Java的類別變數(shù)和變數(shù)範(fàn)圍5-4 遞迴程式設(shè)計(jì)第5章 程序與函數(shù)的類別方法5-1 程序與函數(shù)的基礎(chǔ)5-1 程序與函數(shù)的基礎(chǔ)-說(shuō)明程式是一個(gè)獨(dú)立的程式區(qū)塊,在執(zhí)行程式時(shí),將流程控制轉(zhuǎn)移至程序,稱為程序呼叫(Subroutines Call)。程序如同一個(gè)黑盒子(Black Box),只要告訴我們?nèi)绾问褂煤诤凶拥氖褂媒槊妫↖nterface)即可,如下圖所示:5-1 程序與函數(shù)的基礎(chǔ)-說(shuō)明程式是一個(gè)獨(dú)立的程式區(qū)塊,在執(zhí)5-1 程序與函數(shù)的基礎(chǔ)-語(yǔ)法與語(yǔ)意程序的語(yǔ)法(Syntactic)是說(shuō)明程序需要傳入何種資料
2、型態(tài)的參數(shù)(Parameters)和傳回值,語(yǔ)意(Semantic)是描述程序可以作什麼事?換句話說(shuō),在撰寫程序時(shí),我們需要了解程序的語(yǔ)法規(guī)則;呼叫程序時(shí)需要了解程序的語(yǔ)意規(guī)則,如此才能夠正確的呼叫程序。5-1 程序與函數(shù)的基礎(chǔ)-語(yǔ)法與語(yǔ)意程序的語(yǔ)法(Syn5-2 Java的類別方法5-2-1 建立Java的類別方法5-2-2 類別方法的參數(shù)傳遞5-2-3 類別方法的傳回值5-2-4 傳值或傳址參數(shù)5-2 Java的類別方法5-2-1 建立Java的類別方法5-2 Java的類別方法Java的程序與函數(shù)稱為方法(Methods),分為:類別的類別方法(Class Methods)物件的實(shí)例方法
3、(Instance Methods)在本章說(shuō)明的是類別方法,相當(dāng)於是其他程式語(yǔ)言的程序和函數(shù)。實(shí)例方法的說(shuō)明請(qǐng)參閱第10章。5-2 Java的類別方法Java的程序與函數(shù)稱為方法(5-2-1 建立Java的類別方法-語(yǔ)法Java語(yǔ)言的類別方法是由方法名稱和程式區(qū)塊組成,其語(yǔ)法格式如下所示:存取敘述 static 傳回值型態(tài) 方法名稱( 參數(shù)列 ) 程式敘述; 5-2-1 建立Java的類別方法-語(yǔ)法Java語(yǔ)言的類別方5-2-1 建立Java的類別方法-存取敘述修飾子存取敘述(Access Specifier)是一種修飾子,可以是public和private,其說(shuō)明如下所示:public:方法
4、可以在程式任何地方進(jìn)行呼叫,甚至是其他類別。private:方法只能在同一個(gè)類別內(nèi)進(jìn)行呼叫。5-2-1 建立Java的類別方法-存取敘述修飾子存取敘述5-2-1 建立Java的類別方法-範(fàn)例例如:沒(méi)有傳回值和參數(shù)列的printTriangle()方法,如下所示:private static void printTriangle() int i, j; for ( i = 5; i = 1; i- ) for ( j = 1; j = i; j+ ) System.out.print(*); System.out.print(n); 5-2-1 建立Java的類別方法-範(fàn)例例如:沒(méi)有傳回值和參5
5、-2-1 建立Java的類別方法-呼叫呼叫Java方法是使用類別名稱或方法名稱,其語(yǔ)法格式如下所示:方法名稱( 參數(shù)列 );類別名稱.方法名稱( 參數(shù)列 );因?yàn)閜rintTriangle()方法沒(méi)有傳回值和參數(shù)列,所以呼叫方法只需使用方法名稱,加上空括號(hào)即可,如下所示:printTriangle();如果在其他類別呼叫此類別方法,例如:public修飾子的sumOne2Ten()方法,其呼叫方式,如下所示:Ch5_2_1.sumOne2Ten();5-2-1 建立Java的類別方法-呼叫呼叫Java方法是使5-2-2 類別方法的參數(shù)傳遞-說(shuō)明Java方法的參數(shù)列是資訊傳遞的機(jī)制,可以從外面將
6、資訊送入方法的黑盒子,參數(shù)列是方法的使用介面。當(dāng)方法擁有參數(shù)列,在呼叫方法時(shí),即可傳入不同參數(shù)來(lái)產(chǎn)生不同的執(zhí)行結(jié)果。5-2-2 類別方法的參數(shù)傳遞-說(shuō)明Java方法的參數(shù)列是資5-2-2 類別方法的參數(shù)傳遞-範(fàn)例例如:擁有參數(shù)的sumN2N()方法,如下所示:static void sumN2N(int begin, int end) int i, sum = 0; for ( i = begin; i 0,使用n!定義的第2條計(jì)算階層函數(shù)4!的值,如下所示:4!=4*3*2*1=24因?yàn)殡A層函數(shù)本身?yè)碛羞f迴特性??梢詫?!的計(jì)算分解成子問(wèn)題,如下所示:4!=4*(4-1)!=4*3!現(xiàn)在3!
7、的計(jì)算成為一個(gè)新的子問(wèn)題,必須先計(jì)算出3!值後,才能處理上述的乘法。5-4-1 遞迴的階層函數(shù)-過(guò)程1例如:計(jì)算4!的值,從上述5-4-1 遞迴的階層函數(shù)-過(guò)程2同理將子問(wèn)題3!繼續(xù)分解,如下所示:3! = 3*(3-1)! = 3*2!2! = 2*(2-1)! = 2*1!1! = 1*(1-1)! = 1*0! = 1*1 = 1最後在知道1!的值後,接著就可以計(jì)算出2!4!的值,如下所示:2! = 2*(2-1)! = 2*1! = 23! = 3(3-1)! = 3*2! = 3*2 = 64! = 4*(4-1)! = 4*3! = 245-4-1 遞迴的階層函數(shù)-過(guò)程2同理將子問(wèn)
8、題3!繼續(xù)分解,5-4-1 遞迴的階層函數(shù)-方法 / 遞迴方法: 計(jì)算階層函數(shù)的值 static int factorial(int n) if ( n = 1 ) / 終止條件 return 1; else return n * factorial(n-1); 5-4-1 遞迴的階層函數(shù)-方法 / 遞迴方法: 計(jì)5-4-2 河內(nèi)塔問(wèn)題-說(shuō)明河內(nèi)塔(Tower of Hanoi)問(wèn)題是程式語(yǔ)言在說(shuō)明遞迴觀念時(shí),不可錯(cuò)過(guò)的實(shí)例,這是一個(gè)流傳在Brahma廟內(nèi)的遊戲,廟內(nèi)的僧侶相信完成這個(gè)遊戲是一件不可能的任務(wù)。河內(nèi)塔問(wèn)題共有三根木樁,如下圖所示:5-4-2 河內(nèi)塔問(wèn)題-說(shuō)明河內(nèi)塔(Tower o
9、f H5-4-2 河內(nèi)塔問(wèn)題-規(guī)則共有n個(gè)盤子放置在第一根木樁,盤子的尺寸由上而下依序遞增。河內(nèi)塔問(wèn)題是將所有的盤子從木樁1搬移到木樁3,在搬動(dòng)的過(guò)程中有三項(xiàng)規(guī)則,如下所示:每次只能移動(dòng)一個(gè)盤子,而且只能從最上面的盤子搬動(dòng)。任何盤子可以搬到任何一根木樁。必須維持盤子的大小是由上而下依序遞增。5-4-2 河內(nèi)塔問(wèn)題-規(guī)則共有n個(gè)盤子放置在第一根木樁,盤5-4-2 河內(nèi)塔問(wèn)題-步驟歸納出三個(gè)步驟,如下所示:Step 1:將最上面n-1個(gè)盤子從木樁1搬移到木樁2。Step 2:將最後一個(gè)盤子從木樁1搬移到木樁3。Step 3:將木樁2的n-1個(gè)盤子搬移到木樁3。5-4-2 河內(nèi)塔問(wèn)題-步驟歸納出三個(gè)步驟,如下所示:5-4-2 河內(nèi)塔問(wèn)題-方法static void towerofHanoi(int d,int p1,int p2,int p3) if ( d = 1 ) / 終止條件 System.out.println(盤子從+p1+移到+p3
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年七年級(jí)歷史下冊(cè) 第16課 明朝的科技、建筑與文學(xué)說(shuō)課稿 新人教版
- 2025瓷磚買賣合同
- Unit 3 Family Matters Understanding ideas Like Father,Like Son 說(shuō)課稿 -2024-2025學(xué)年高中英語(yǔ)外研版(2019)必修第一冊(cè)
- 2024-2025學(xué)年高中語(yǔ)文 第三課 第4節(jié) 咬文嚼字-消滅錯(cuò)別字說(shuō)課稿2 新人教版選修《語(yǔ)言文字應(yīng)用》
- 21 古詩(shī)三首 第一課時(shí) 說(shuō)課稿-2024-2025學(xué)年統(tǒng)編版語(yǔ)文四年級(jí)上冊(cè)
- 2025購(gòu)銷合同范本
- 森林安全監(jiān)管方案
- 企業(yè)派駐合同范例
- 網(wǎng)狀吊索拱橋施工方案
- 黔東南綠化草坪施工方案
- 新生兒黃疸早期識(shí)別課件
- 醫(yī)藥營(yíng)銷團(tuán)隊(duì)建設(shè)與管理
- 新生兒氣管插管操作評(píng)分標(biāo)準(zhǔn)
- 二年級(jí)數(shù)學(xué)上冊(cè)口算題100道(全冊(cè)完整)
- 冷軋工程專業(yè)詞匯匯編注音版
- 小升初幼升小擇校畢業(yè)升學(xué)兒童簡(jiǎn)歷
- 第一單元(金融知識(shí)進(jìn)課堂)課件
- 五年級(jí)語(yǔ)文閱讀訓(xùn)練20篇專項(xiàng)訓(xùn)練帶答案解析
- 介入導(dǎo)管室護(hù)士述職報(bào)告(5篇)
- GB/T 37062-2018水產(chǎn)品感官評(píng)價(jià)指南
- 零件的工藝分析及毛坯選擇
評(píng)論
0/150
提交評(píng)論