1. 程式人生 > 其它 >Java基礎:方法

Java基礎:方法

定義

  • 語句的集合,在一起執行一個功能
  • 包含於類或物件中
  • 在程式中被建立,在其他地方被引用
  • 設計原則:保持方法的原子性,一個方法只完成一個功能,利於後期的擴充套件
  • 命名規則:首字母小寫和駝峰原則 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);
        }
    }
}