方法多載與可變引數與遞回
- 舉例說明:
//方法有修飾符,回傳值型別,方法名,引數型別,引數名
public static int name(int a,int b){//這里是形參,主方法內呼叫并給真實傳遞的才是實參
//方法體
return a+b;
}
- 有回傳值型別的,一般會被main方法呼叫去回傳一個值,回傳值型別為空的,方法一定是一條陳述句
方法的多載
-
在一個類中,有相同的方法名,但引數串列不同
-
方法名相同,引數串列不同(個數不同,型別不同,順序不同),回傳值型別可同可不同
不定項引數(可變引數)
- 例如:
//可變引數的本質就是陣列,所以我們要輸出a的元素時需要用a[0],a[1]...
public static int name(int... a){
}
遞回(能不用則不用,主要學習遞回思想)
- 遞回頭:什么時候不呼叫此方法,就是要有盡頭,不然會陷入死回圈
- 遞回體:什么時候需要呼叫自身
- 例如:
//當程式執行到f(1)的時候,就會結束,真正結束,會回傳一個整數,在這里f(1)就是遞回頭
public static int f(int n){
if (n==1){
return 1;
}else{
return n*f(n-1);
}
}
/*
遞回說白了就是方法有盡頭的自身呼叫自身,所以我們要想辦法讓它有盡頭
遞回就是把方法往堆疊中一層層的壓,所以對于那些嵌套層次比較深的演算法,遞回就不行了,因為會占用大量記憶體,造成記憶體奔潰,
遞回適用于一些小計算
Java都是使用堆疊機制的
*/
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/252917.html
標籤:其他
上一篇:c語言學習教程1之預定義代碼
