第9講 方法的定義與重載_第1頁
第9講 方法的定義與重載_第2頁
第9講 方法的定義與重載_第3頁
第9講 方法的定義與重載_第4頁
第9講 方法的定義與重載_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1JavaJava程序設計程序設計 河南經貿職業(yè)學院河南經貿職業(yè)學院 信息管理系信息管理系武俊琢武俊琢n 循環(huán)應用案例窮舉法u雞兔同籠u百錢百雞找規(guī)律u特殊累加和u猴子吃桃u彈跳球 河南經貿職業(yè)學院河南經貿職業(yè)學院 信息管理系信息管理系武俊琢武俊琢public class HuYueJie83 public static void main(String args) double x=0;double a,b,c;a=1;b=2;for (int i=1;i=20;i+)c=b/a;x=x+c;System.out.println(x=+x); 河南經貿職業(yè)學院河南經貿職業(yè)學院 信息管理系信息

2、管理系武俊琢武俊琢for(t=a/b;t=20;t+)x=a/b;s=x+s;v=b;b=a;a=v+a;public class zhaoyu83 public static void main(Stringargs)double s=0; double a,b,t; a=2; b=1; for(int i=1;i=20;i+) t=a/b; s=s+t; a=b; b=a; s=s+a; System.out.println(s=+s); 河南經貿職業(yè)學院河南經貿職業(yè)學院 信息管理系信息管理系武俊琢武俊琢public class SunLuLu071 public static void

3、main(String args) int a,b,c,d,x;for(int i=4;i=100;i+)x=i*i;a=x/1000;b=x%1000/100;c=x%1000%100%10;d=x%1000%100%10;if(a=b&c=d)System.out.println(這個車牌號是:+x); 河南經貿職業(yè)學院河南經貿職業(yè)學院 信息管理系信息管理系武俊琢武俊琢【要點要點】u方法的定義u方法調用u方法重載【教學目標教學目標】u掌握靜態(tài)方法的定義,掌握方法的調用,掌握方法的重載,掌握方法的遞歸調用 河南經貿職業(yè)學院河南經貿職業(yè)學院 信息管理系信息管理系武俊琢武俊琢【概念導入概

4、念導入】 假設有一個游戲程序,程序在運行過程中,要不斷地發(fā)射炮彈。發(fā)射炮彈的動作需要編寫100行的代碼,在每次實現(xiàn)發(fā)射炮彈的地方都需要重復地編寫這重復地編寫這100行代碼行代碼,這樣程序會變得很臃腫,可讀性非常差很臃腫,可讀性非常差。 為了解決代碼重復編寫的問題,可以將發(fā)射炮彈的代碼提將發(fā)射炮彈的代碼提取出來放在一個取出來放在一個中,并為這段代碼起個名字中,并為這段代碼起個名字,這樣在每次發(fā)射炮彈的地方通過這個名字來調用發(fā)射炮彈的代碼就可以了。 上述過程中,提取出來的這段代碼就是程序中定義的一個提取出來的這段代碼就是程序中定義的一個方法方法。程序在需要發(fā)射炮彈時調用該方法即可。 河南經貿職業(yè)學

5、院河南經貿職業(yè)學院 信息管理系信息管理系武俊琢武俊琢例1:閱讀分析程序,了解方法在程序中起到的作用。在不使用方法時實現(xiàn)打印三個長寬不同的矩形。 河南經貿職業(yè)學院河南經貿職業(yè)學院 信息管理系信息管理系武俊琢武俊琢【分析分析】本例中,本例中,分別使用3個嵌套for循環(huán)完成了三個矩形的打印,仔細觀察會發(fā)現(xiàn),這3個嵌套for循環(huán)的代碼是重復的,都在做一樣的事情。此時,可以將使用可以將使用“*”打印矩形的功能定義為方法,在程打印矩形的功能定義為方法,在程序中調用三次即可。序中調用三次即可。 河南經貿職業(yè)學院河南經貿職業(yè)學院 信息管理系信息管理系武俊琢武俊琢例例2:使用方法的程序:使用方法的程序 河南經貿

6、職業(yè)學院河南經貿職業(yè)學院 信息管理系信息管理系武俊琢武俊琢n 在Java中,聲明一個方法的具體語法格式如下:修飾符修飾符 返回值類型 方法名方法名(參數(shù)類型1 參數(shù)名1 ,參數(shù)類型2 參數(shù)名2 , )執(zhí)行語句;return 返回值;格式符格式符說明:說明:方括號方括號“ ”表示在格式中是可選項,即可以沒表示在格式中是可選項,即可以沒有該項內容。有該項內容。 河南經貿職業(yè)學院河南經貿職業(yè)學院 信息管理系信息管理系武俊琢武俊琢【方法定義說明方法定義說明】基礎格式(必選項):返回值類型 方法名方法名( )方法體方法體;方法定義的位置:與主方法main一樣,必須在類體中定義,即在class定義的一對內

7、部定義,但是方法不能嵌套定義。 河南經貿職業(yè)學院河南經貿職業(yè)學院 信息管理系信息管理系武俊琢武俊琢【方法定義說明方法定義說明】(1)返回值類型:)返回值類型:必選項,定義返回值的數(shù)據(jù)類型u如果該方法有返回值,則必須定義返回值數(shù)據(jù)類型,同時在方法體內必須有一條return 語句,格式如下: return 表達式表達式; 說明:說明:表達式的數(shù)據(jù)類型必須與返回值類型一致u如果該方法沒有返回值,則使用void類型,此時方法體中可以沒有return語句,如果有return,只能是以下格式: return; 河南經貿職業(yè)學院河南經貿職業(yè)學院 信息管理系信息管理系武俊琢武俊琢【方法定義說明方法定義說明】(

8、2)方法名:)方法名:必選項,符合標識符規(guī)范的方法名稱如果多個單詞構成,則首單詞首字母小寫,其它單詞首字母大寫,如:isTure、printNum等 河南經貿職業(yè)學院河南經貿職業(yè)學院 信息管理系信息管理系武俊琢武俊琢【方法定義說明方法定義說明】/定義方法定義方法isTrue()boolean isTrue() /返回值類型為 boolean boolean flag=true; return flag; /對應的return語句/定義方法定義方法printNum()void printNum() /返回值類型為void int num=10; System.out.println(num);

9、/可以沒有return語句 河南經貿職業(yè)學院河南經貿職業(yè)學院 信息管理系信息管理系武俊琢武俊琢【方法定義說明方法定義說明】(3)修飾符:)修飾符:可選項,根據(jù)需要設置,常用修飾符有public、static等upublic用于設定方法的訪問權限為公有權限,公有權限的方法可以在任何包的任何類中調用。ustatic用于設定方法是靜態(tài)方法靜態(tài)方法,靜態(tài)方法可以在其他方法中直接調用、也可以通過“類名.方法名()”直接調用。u其它修飾符在后續(xù)章節(jié)中學習。 河南經貿職業(yè)學院河南經貿職業(yè)學院 信息管理系信息管理系武俊琢武俊琢【方法定義說明方法定義說明】(4)參數(shù)類型1 參數(shù)名1 ,參數(shù)類型2 參數(shù)名2 ,

10、:可選項,稱為參數(shù)變量列表參數(shù)變量列表。u參數(shù)變量列表中可以定義多個參數(shù)變量,參數(shù)之間以逗號“,”間隔,每個參數(shù)的定義格式如下: 參數(shù)數(shù)據(jù)類型參數(shù)數(shù)據(jù)類型 參數(shù)名參數(shù)名 說明:參數(shù)名也是符合變量名規(guī)范的標識符u參數(shù)變量的作用域是方法體 河南經貿職業(yè)學院河南經貿職業(yè)學院 信息管理系信息管理系武俊琢武俊琢【方法定義說明方法定義說明】/定義方法定義方法printRectangle ()void printRectangle(int w, int h) /定義2個整型參數(shù)w,h for (int i = 0; i h; i+) /方法體中使用h for (int j = 0; j w; j+) /方法

11、體中使用方法體中使用wSystem.out.print(*); System.out.println(); 河南經貿職業(yè)學院河南經貿職業(yè)學院 信息管理系信息管理系武俊琢武俊琢【方法定義說明方法定義說明】參數(shù)變量的意義:參數(shù)變量的意義:調用方法時,可以給參數(shù)變量傳值,不同的調用可以傳遞調用方法時,可以給參數(shù)變量傳值,不同的調用可以傳遞不同的值,但是不同的值,但是傳遞的數(shù)值類型必須與參數(shù)類型一致傳遞的數(shù)值類型必須與參數(shù)類型一致。如:如:printRectangle(5,3); 河南經貿職業(yè)學院河南經貿職業(yè)學院 信息管理系信息管理系武俊琢武俊琢【方法的調用】方法名方法名(參數(shù)值1,參數(shù)值2,)【方法

12、調用說明】(1)方法名,即方法定義中的名字(2)參數(shù)值列表,即參數(shù)值1,參數(shù)值2,,參數(shù)值列表與方法定義中的參數(shù)變量列表要按順序一一匹配。如:定義定義 void printRectangle(int w, int h) 調用調用printRectangle(6,3); 河南經貿職業(yè)學院河南經貿職業(yè)學院 信息管理系信息管理系武俊琢武俊琢【方法調用說明】(3)返回值類型為void時,方法調用沒有返回值,因此以方法調用語句形式進行調用(語句調用語句調用),如: printRectangle(5,3);(4)返回值類型不是void時,方法調用有返回值,因此調用方法時可以獲取方法的返回值的,此時方法調用

13、一般出現(xiàn)在表達式中(表達式調用表達式調用)。(5)方法調用的位置:方法調用可以作為語句使用,也可以作為表達式使用,而無論哪種都必須在一個方法體中使用。初學初學時一般放在時一般放在main()方法中調用。方法中調用。 河南經貿職業(yè)學院河南經貿職業(yè)學院 信息管理系信息管理系武俊琢武俊琢【方法的調用】例3:定義一個求矩形面積的方法,并且調用該方法計算長為3,寬為5的矩形面積。 河南經貿職業(yè)學院河南經貿職業(yè)學院 信息管理系信息管理系武俊琢武俊琢【方法調用方法調用】u調用過程 河南經貿職業(yè)學院河南經貿職業(yè)學院 信息管理系信息管理系武俊琢武俊琢【方法的重載方法的重載】Java允許在一個程序中定義多個名稱相

14、同,但是參數(shù)的類型或個數(shù)必須不同的方法,這就是方法的重載。在調用方法時Java根據(jù)參數(shù)值的類型及個數(shù)自動匹配確定執(zhí)行哪一個方法。 河南經貿職業(yè)學院河南經貿職業(yè)學院 信息管理系信息管理系武俊琢武俊琢【例4】編寫一個程序,定義3個重載方法,分別計算圓形、矩形、梯形面積,并在主方法中分別調用這些方法?!痉治觥縰計算圓形面積只需要一個半徑,定義1個參數(shù)u計算矩形面積需要長和寬,定義2個參數(shù)u計算梯開面積需要上底、下底和高,定義3個參數(shù) 河南經貿職業(yè)學院河南經貿職業(yè)學院 信息管理系信息管理系武俊琢武俊琢 河南經貿職業(yè)學院河南經貿職業(yè)學院 信息管理系信息管理系武俊琢武俊琢【方法的重載說明方法的重載說明】方法的重載與返回值類型無關,它只有兩個條件,一是方法名相同,二是參數(shù)個數(shù)或參數(shù)類型不相同。 河南經貿職業(yè)學院河南經貿職業(yè)學院 信息管理系信息管理系武俊琢武俊琢n 方法的遞歸是指在一個方法的內部調用自身的過程n 遞歸必須要有結束條件,不然就會陷入無限遞歸的狀態(tài),永遠無法結束調用。 河南經貿職業(yè)學院河南經貿職業(yè)學院 信息管理系信息管理系武俊琢武俊

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論