Java基礎:方法
阿新 • • 發佈:2021-07-17
定義
- 語句的集合,在一起執行一個功能
- 包含於類或物件中
- 在程式中被建立,在其他地方被引用
- 設計原則:保持方法的原子性,一個方法只完成一個功能,利於後期的擴充套件
- 命名規則:首字母小寫和駝峰原則 runRun()
public class methodText { public static void main(String[] args) { int c = add(1, 2); System.out.println(c); } public static int add(int a, int b){ return a + b; } }
方法的過載
- 過載:在一個類中,有相同的函式名稱,但是形參不同的函式
- 方法名稱必須相同
- 引數列表必須不同(個數、型別、引數排列順序)
- 返回型別可以相同也可以不相同
- 僅僅返回型別不同不能成為方法的過載
public class methodText { public static void main(String[] args) { int c = add(1, 2); double d = add(5.6,5.5); System.out.println(c); System.out.println(d); } public static int add(int a, int b){ return a + b; } public static double add(double a, double b){ return a + b; } }
命令列傳參
public class forText {
public static void main(String[] args) {
//args.length 陣列長度
for(int i = 0; i < args.length; i++){
System.out.println("args[" + i +"]:" + args[i]);
}
}
}
//命令列進入src目錄,javac forText.java編譯
//輸入:java forText this is a sample
可變引數
public class changArgs{ public static void main(String[] args) { changArgs demo1 = new forText(); demo1.printMax(12,4,45); demo1.printMax(new double[] {1,23,4}); } public void printMax(double... numbers){ double result = numbers[0]; for(int i = 1; i < numbers.length; i++){ result = result < numbers[i] ? numbers[i] : result; } System.out.println("最大值為:"+result); } }
遞迴
遞迴頭:什麼時候不呼叫自身方法。如果沒有頭,將陷入死迴圈
遞迴體:什麼時候需要呼叫自身方法
public class dg {
public static void main(String[] args) {
dg demo1 = new dg();
int val = demo1.fuc(5);
System.out.println("5! = " + val);
}
public int fuc(int n){ //n為大於一的整數
if (n == 1){
return 1;
}else{
return n * fuc(n - 1);
}
}
}