1.方法的作用:減少重復性代碼,實現(xiàn)代碼復用;方便后期維護
2.方法:具有特定功能一段獨立代碼
3.聲明方法:
3.1:語法:
訪問修飾符 擴展修飾符【static/final/abstract】 返回值類型 方法名(
數(shù)據(jù)類型1 參數(shù)1,數(shù)據(jù)類型2 參數(shù)2... ){
代碼塊;
【return 結果;】
}3.2: 訪問修飾符:public,protected,default,private ,表示方法訪問權限,現(xiàn)在常用public作 方法的訪問修飾符。
3.3:返回值類型:方法執(zhí)行完后返回的結果的類型叫返回值類型,常用的方法返回值類型有 void,Java支持所有數(shù)據(jù)類型。如果方法執(zhí)行完后不想返回任意結果就用 void,如果方法執(zhí)行完后想返回結果,返回值類型就是這個結果的數(shù)據(jù)類 型,同時一定要用return返回結果。
3.4:方法名:自定義,采用駝峰式命名法。
3.5:方法參數(shù):執(zhí)行方法時所需要原材料。參數(shù)名與變量名命名規(guī)則一致,一個方法的參數(shù)可 以有0個到多個,參數(shù)前一定要有數(shù)據(jù)類型。參數(shù)在方法中當作已知變量來用。
3.6:return 結果:方法執(zhí)行完后要返回的結果。方法的返回結果可以任意類型,只能返回一 個值。只要方法的返回值類型不為void,方法中一定要用return 結果,且結 果的類型與返回值類型一致。
3.7:聲明方法只表示有這種功能,方法不調用不執(zhí)行。
3.8:方法與方法之間是一種并列的關系,不能嵌套。
3.9: 一個方法只要聲明一次,就可以多次調用。
3.10:在同一個類中不能有相同方法。
3.11:方法的類型:eg:/** * 聲明刷屏的方法,是一個無參無返回值的方法 */ public static void flushScreem(){ System.out.println("刷屏了"); } /** *聲明自我介紹的方法,是一個有參無返回值的方法 */ public static void showMyself(String name,int age){ System.out.println("大家好,我叫"+name+",今年"+age); } /** *聲明榨汁的方法,是一個有參有返回值的方法 */ public static String juicing(String fruit){ return "榨出一杯"+fruit+"汁"; } /** * 聲明提示發(fā)紅包的方法,無參有返回值的方法 */ public static String money(){ return "遲到要發(fā)紅包"; }
4.調用方法:方法名(參數(shù)1,參數(shù)2...);
eg://調用無參無返回值的方法 flushScreem(); //調用有參無返回值的方法 showMyself("小明",18); //調用有參有返回值的方法,將方法的返回結果存在變量中 String result=juicing("西瓜"); System.out.println(result); //調用無參有返回值的方法,將方法的返回結果存在變量中 String result2=money(); System.out.println(result2);
5.參數(shù)類型
形參:方法聲明時小括號中參數(shù)。形參前一定要帶數(shù)據(jù)類型。
實參:方法調用時小括號中參數(shù)。方法調用時實參直接給值,一定不能寫數(shù)據(jù)類型。
對同一個方法,形參與實參的個數(shù)要一致,類型要匹配,位置要一一對應。
6.方法重載的作用:解決同一個類,功能相同,多個方法的命名和調用
7.方法重載的條件
7.1:在同一個類中(一般情況都是,特殊情況子類繼承父類的方法,再寫一個構成重載);
7.2:方法名相同;
7.3:參數(shù)列不同(參數(shù)的個數(shù)不同,數(shù)據(jù)類型不同)
7.4: 返回值類型一致
8.方法重載調用,用實參數(shù)列表來判斷調用了哪個方法
eg:/** *方法重載使用 */ public class MethedTest2{ /** *程序的入口方法 */ public static void main(String[] args){ //調用方法,并將方法的返回結果存在變量中 double result=sum(1,2,7,11); System.out.println("和為:"+result); } /** *計算兩個數(shù)之和的方法 */ public static double sum(double num1,double num2){ System.out.println("計算兩個數(shù)之和的方法"); double sum=num1+num2; return sum; } /** *計算三個數(shù)之和的方法 */ public static double sum(double num1,double num2,double num3){ System.out.println("計算三個數(shù)之和的方法"); double sum=num1+num2+num3; return sum; } /** *計算四個數(shù)之和的方法 */ public static double sum(double num1,double num2,double num3,double num4){ System.out.println("計算四個數(shù)之和的方法"); double sum=num1+num2+num3+num4; return sum; } }練習:聲明兩個打印直角三角形的方法,第一個方法打印高度為5的直角三角形,圖形的符號作為參數(shù);第二個方法打印直角三角形,高度和符號都作為參數(shù),用方法重載去實現(xiàn)。
9.遞歸:方法自身調用自身
遞歸使用條件:
1:可以將原問題拆分為若干子問題,子問題的解決方法與原問題一樣。
2:原問題的解決依賴所有子問題的解決。
3:遞歸一定要有出口簡單的問題能用遞歸解決,也可以循環(huán)結構解決。
一般復雜的問題能用遞歸解決,不一定能循環(huán)結構解決