您好,登錄后才能下訂單哦!
這篇文章主要介紹了java中方法是什么,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
初次看到方法兩字,心里有些疑惑。方法不是指為獲得某種東西或達到某種目的而采取的手段與行為方式嗎?這是我們日常生活中所說的方法。而在Java中, 方法就是一個代碼片段,類似于C語言中的函數。
方法的存在意義:
1.當代碼規模比較復雜的時候,能夠模塊化地組織代碼。
2.做到代碼被重復使用。一份代碼可以在多個位置使用。
3.讓代碼更好理解更簡單。
4.直接調用現有方法開發,不必重復造輪子。
// 方法定義 public static 方法返回值 方法名稱([參數類型 形參 ...]){ //方法體代碼; return 返回值; } // 方法調用 返回值變量 = 方法名稱(實參...);
public static void main(String[] args) { int a = 20; int b = 30; int c = add(a,b);//方法的調用 System.out.println(c); } //方法的定義 public static int add(int a,int b) { return a + b; }
結果為:
方法定義時,參數可以沒有,每個參數要指定類型。
方法定義時,返回值也可以沒有,如果沒有返回值,則返回值類型應寫成 void。
方法定義時的參數稱為"形參",方法調用時的參數稱為 “實參”。
方法的定義必須在類之中, 代碼書寫在調用位置的上方或者下方均可。
Java 中沒有 “函數聲明” 這樣的概念。
定義方法的時候,不會執行方法的代碼。只有調用的時候才會執行。
當方法被調用的時候,會將實參賦值給形參。
參數傳遞完畢后,就會執行到方法體代碼。
當方法執行完畢之后(遇到 return 語句),就執行完畢,回到方法調用位置繼續往下執行。
一個方法可以被多次調用。
public static void main(String[] args) { int a = 20; int b = 30; int c = add(a,b); System.out.println("c = " + c); int d = add(a,c); System.out.println("d = "+ d); int e = add(c,d); System.out.println("e = "+ e); } public static int add(int a,int b) { return a + b; }
結果為:
如果我們需要一個計算兩個整型之和的方法,那么我們可以這樣定義:
public static int addInt(int a,int b) { return a + b; }
如果我們需要一個計算兩個double型之和的方法,那么我們可以這樣定義:
public static double addDouble(double a, double b) { return a + b; }
我們可以發現,這兩個方法的作用基本相同,都是計算兩數之和,只是參數和返回類型不同而已。那么我們是否可以將其簡化呢?
public static int add(int a,int b) { return a + b; } public static double add(double a, double b) { return a + b; }
同一個方法名字,供不同版本的實現,稱為方法重載。
我們可以通過下面這段代碼進行驗證:
public static void main(String[] args) { int a = 20; int b = 30; double c = 5.4; double d = 7.8; System.out.println(add(a,b)); System.out.println(add(c,d)); } public static int add(int a,int b) { return a + b; } public static double add(double a, double b) { return a + b; }
結果為:
方法名相同
參數列表不同(參數個數和參數類型不同)
返回值不作要求
重載不是必須要在一個類當中(繼承)
當兩個方法的名字相同,參數也相同,但是返回值不同的時候,不構成重載。 例如:
此時編輯器便報錯。
一個方法在執行過程中調用自身,同時有一個趨近于終止的條件,就稱為方法遞歸。
public static void main(String[] args) { int n = 5; int ret = fac(n); System.out.println("ret = " + ret); } //求n的階乘 public static int fac(int n) { if(n == 1) { return 1; } else { return n * fac(n - 1); } }
執行結果為:
例如上面這段代碼,它的執行過程如下:
更簡潔的解釋如下:
所有的遞歸都可以這樣分析。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“java中方法是什么”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。