方法定義、方法重載

目錄

方法定義

方法參數

方法三要素

列:定義一個方法,用來判斷兩個數字是否相同。

使用方法的注意事項

方法重載

列:方法重載練習

列:比較兩個數據是否相等。參數類型分別爲byte,short,int,long類型


方法定義

修飾符 返回值類型 方法名稱(參數類型 參數名稱, ...) {
    方法體
    return 返回值;
}
  • 修飾符:現階段的固定寫法,public static
  • 返回值類型:也就是方法最終產生的數據結果是什麼類型
  • 方法名稱:方法的名字,規則和變量一樣,小駝峯
  • 參數類型:進入方法的數據是什麼類型
  • 參數名稱:進入方法的數據對應的變量名稱
  • PS:參數如果有多個,使用逗號進行分隔
  • 方法體:方法需要做的事情,若干行代碼
  • return:兩個作用,第一停止當前方法,第二將後面的返回值還給調用處
  • 返回值:也就是方法執行後最終產生的數據結果

方法參數

有參數:小括號當中有內容,當一個方法需要一些數據條件,才能完成任務的時候,就是有參數。
例如兩個數字相加,必須知道兩個數字是各自多少,才能相加。

無參數:小括號當中留空。一個方法不需要任何數據條件,自己就能獨立完成任務,就是無參數。
例如定義一個方法,打印固定10次HelloWorld。

方法三要素

方法名稱、參數列表、返回值

列:定義一個方法,用來判斷兩個數字是否相同。

  
    public static void main(String[] args) {
        System.out.println(isSame(10, 20)); // false
        System.out.println(isSame(20, 20)); // true
        System.out.println(isSame(10,40));
    }

    /*
    三要素:
    返回值類型:boolean
    方法名稱:isSame
    參數列表:int a, int b
     */
    public static boolean isSame(int a, int b) {
        
        /*  //方法一:
        boolean same;
        if (a == b) {
            same = true;
        } else {
            same = false;
        }*/

        // 方法二:boolean same = a == b ? true : false;
        // 方法三:boolean same = a == b;
        return a == b;
    }

使用方法的注意事項

1. 方法應該定義在類當中,但是不能在方法當中再定義方法。不能嵌套。
2. 方法定義的前後順序無所謂。
3. 方法定義之後不會執行,如果希望執行,一定要調用:單獨調用、打印調用、賦值調用。
4. 如果方法有返回值,那麼必須寫上“return 返回值;”,不能沒有。
5. return後面的返回值數據,必須和方法的返回值類型,對應起來。
6. 對於一個void沒有返回值的方法,不能寫return後面的返回值,只能寫return自己。
7. 對於void方法當中最後一行的return可以省略不寫。
8. 一個方法當中可以有多個return語句,但是必須保證同時只有一個會被執行到,兩個return不能連寫。

public static int method1() {
    return 10;
}

public static void method2() {
//        return 10; // 錯誤的寫法!方法沒有返回值,return後面就不能寫返回值。
    return; // 沒有返回值,只是結束方法的執行而已。
}

public static void method3() {
    System.out.println("AAA");
    System.out.println("BBB");
//        return; // 最後一行的return可以省略不寫。
}

public static int getMax(int a, int b) {
    if (a > b) {
        return a;
    } else {
        return b;
    }
}

方法重載

  • 方法重載:指在同一個類中,允許存在一個以上的同名方法,只要它們的參數列表不同即可,與修飾符和返回值類型無關。
  • 參數列表:個數不同,數據類型不同,順序不同。
  • 重載方法調用JVM通過方法的參數列表,調用不同的方法。

方法重載與下列因素無關:

1. 與參數的名稱無關
2. 與方法的返回值類型無關

列:方法重載練習

    public static void main(String[] args) {
       System.out.println(sum(10, 20)); // 兩個參數的方法
        System.out.println(sum(10, 20, 30)); // 三個參數的方法
        System.out.println(sum(10, 20, 30, 40)); // 四個參數的方法
        sum(10, 20);
    }
    public static int sum(int a, double b) {
        return (int) (a + b);
    }

    public static int sum(double a, int b) {
        return (int) (a + b);
    }

    public static int sum(int a, int b) {
        System.out.println("有2個參數的方法執行!");
        return a + b;
    }

    public static int sum(double a, double b) {
        return (int) (a + b);
    }

    public static int sum(int a, int b, int c) {
        System.out.println("有3個參數的方法執行!");
        return a + b + c;
    }

    public static int sum(int a, int b, int c, int d) {
        System.out.println("有4個參數的方法執行!");
        return a + b + c + d;
    }

列:比較兩個數據是否相等。參數類型分別爲byte,short,int,long類型

    public static void main(String[] args) {
        byte a = 10;
        byte b = 20;
        System.out.println(isSame(a, b));
        System.out.println(isSame((short) 20, (short) 20));
        System.out.println(isSame(11, 12));
        System.out.println(isSame(10L, 10L));
    }

    public static boolean isSame(byte a, byte b) {
        System.out.println("兩個byte參數的方法執行!");
        boolean same;
        if (a == b) {
            same = true;
        } else {
            same = false;
        }
        return same;
    }

    public static boolean isSame(short a, short b) {
        System.out.println("兩個short參數的方法執行!");
        boolean same = a == b ? true : false;
        return same;
    }

    public static boolean isSame(int a, int b) {
        System.out.println("兩個int參數的方法執行!");
        return a == b;
    }

    public static boolean isSame(long a, long b) {
        System.out.println("兩個long參數的方法執行!");
        if (a == b) {
            return true;
        } else {
            return false;
        }
    }

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章