方法
一、概述
方法是指人們在實踐過程中爲達到一定目的和效果所採取的辦法、手段和解決方案。
所謂方法,就是解決一類問題的代碼的有序組合,是一個功能模塊。編程語言中的方法是組合在一起來執行操作語句的集合。例如,System.out.println 方法,該系統實際上是爲了在控制檯上輸出的消息執行多條語句。
可以將方法理解爲“CD 機”即放入不同的碟片出現不同的歌曲;或“榨汁機”即放入不同的水果榨出不同的果汁;或“手機”與卡。
方法就是 給能夠解決問題的多行代碼取了一個名字的功能塊 ,方便我們多次使用。
方法的作用:
1)、main 方法
2)、重複執行的代碼塊 命名,方便重複使用
3)、方便自上而下分解問題
4)、方便維護代碼
二、定義
1、聲明格式
1)、訪問修飾符:方法允許被訪問的權限範圍;
2)、返回值類型:如果方法不返回任何值,則指定爲 void;如果方法具有返回值,則需要指定返回值的類型,並且在方法體中使用 return語句返回值;
3)、方法名:定義方法的名字,必須使用合法的標識符,見名知意。
4)、形參列表:參數可以有多個,多個參數間以逗號隔開,每個參數由參數類型和參數名組成,以空格隔開。
2.現有格式
注意: 方法只能定義在類中;同時方法不能嵌套;方法編寫位置與使用無關。
3.分類
1)、有返回值類型的方法
修飾符 返回值類型 方法名([參數列表]){
方法體;
return 返回值;
}
1.1修飾符 : public static(目前基礎修飾符)
1.2返回值類型 : 方法運行後,結果的數據類型
基本數據類型(四類八種)|引用數據類型(類 數組 接口)
1.3方法名:方法的名字 調用方法必須使用方法名
嚴格遵循標識符的命名規則|規範 第一個單詞首字母小寫,第二個單詞開始,首字母大寫
1.4 () 參數列表 可以有可以沒有–在方法運行過程中,有沒有未知的變量
如果有參數: (數據類型 參數名,數據類型 參數名…)–局部變量的聲明,只在當前方法中有效
1.5 {}:方法體,具有特殊功能的代碼塊
1.6 return: 結束方法
把方法的運算結果返回給調用者 結果的數據類型必須與返回值類型一致
1.7 調用: 執行方法中的代碼 方法名字([參數列表]);
有返回值類型的方法的調用:
1)直接調用 方法名字([參數列表]); ---沒有什麼意義
2)賦值調用 數據類型 變量名 = 方法名字([參數列表]);
3)輸出調用 System.out.println(方法名字([參數列表]));
2.沒有返回值類型的方法
修飾符 void 方法名([參數列表]){
方法體語句;
return;
}
2.1 void:沒有返回值類型的方法
2.2 return:結束方法
2.3沒有返回值類型的方法的調用:
直接調用 方法名字([參數列表]);
三、方法中的參數
1. 形式參數(形參) : 定義方法的時候()中的參數
2. 實際參數(實參) : 調用方法的時候()中的參數
實參就是給形參賦值的
一 一對應(個數,類型,位置)
四、 return關鍵字:
1.return的作用:
有返回值類型的方法:1.提前結束方法 2.帶出返回值
沒有返回值類型的方法:1.提前結束方法
2.一個方法中只能存在一個return
3.一個一定會執行的return後不能出現語句,編譯不通過,這是不可達語句
4.不可達語句:
1)return 後面的語句
2)break後面的語句
3)continue後面
4)while(false){
5)死循環之後的語句
五、兼容類型:
1)形參數據類型>=實參數據類型
實參數據類型不能大於形參數據類型
2)接收類型>=返回值類型>=return後面數據的類型
編譯的時候會發生語法檢查,如果語法有誤會報錯,如果沒有,編譯成功之後,編譯器會自動默認把byte,short類型的變量提升爲int類型
六、方法的重載
1. 定義:
在同一個類中,多個方法擁有相同的方法名字,不同的參數列表
2. 要求:
- 同一個類中
2)多個方法,方法名字相同
3)參數列表不同|方法簽名不同
方法的簽名:方法的唯一標識(方法名+參數列表)
參數的數據的類型不同
參數的個數不同
參數的順序不同
3.注意要點:
方法的重載和方法的修飾符無關
方法的重載和有無返回值類型無關
方法的重載和返回值類型無關
方法的重載和參數名字無關
4.方法的重載特性中根據實參判斷調用的是哪一個重載方法
方法的重載是一個類中多態的一種體現
七、遞歸
自己調用自己
遞歸頭:停止自己調用自己的條件
遞歸體:自己調用自己
臨界條件:遞歸頭 停止自己調用自己的條件
遞歸前進段:自己調用自己的過程
遞歸後退段:把結果返回給上一層
缺點:非常佔用內存資源的過程->不推薦使用