Java方法的返回值及注意事項

2023-04-25 18:00:20

方法的返回值

為什麼要有帶返回值的方法呢?

呼叫處拿到方法的結果之後,才能根據結果進行下一步操作

帶返回值方法的定義和呼叫:

  1. 如果在呼叫處,要根據方法的結果去編寫另一段程式碼邏輯

  2. 為了在呼叫處拿到方法產生的結果,就需要定義帶有返回值的方法

    1.帶返回值方法定義的格式:

public static 返回型別 方法名 (引數) {
		方法體;
		return 返回值;
}

eg:

public static int getSum(int a,int b){
		int c = a + b;
		return c;
}

2.帶返回值方法的呼叫格式:

  1. 直接呼叫:

    方法名(實參);
    
    1. 賦值呼叫:

      整數型別 變數名 = 方法名(實參);
      
      1. 輸出呼叫:

        System.out.println(方法名(實參));
        

eg:

package com.itheima.Method;
public class Demo07 {
    public static double getSum(int num1,int num2,int num3) {
        int sum = num1+num2+num3;
        return sum;//返回給方法的呼叫處
    }
    public static void main(String[] args) {
        //直接呼叫
        getSum(10,20,30);//不會顯示結果,一般使用在沒有返回值的方法當中

        //賦值呼叫
        double sum = getSum(10,20,30);
        System.out.println(sum);
        
        //輸出呼叫
        System.out.println(getSum(10,20,30));
    }
}

執行結果:
60.0
60.0

練習1:

package com.itheima.Method;
//需求:定義一個方法,求一家商場每個季度的營業額。
//根據方法結果再計算出全年營業額。
//掌握帶返回值方法方法定義和呼叫格式
public class Demo08 {
    public static double getSum(int num1, int num2, int num3) {
        double sum = num1 + num2 + num3;
        return sum;//返回給方法的呼叫處
    }
    public static void main(String[] args) {
        double sum1= getSum(10,20,30) ;
        System.out.println("第一季度的營業額為:"+sum1);
        double sum2= getSum(14,25,30) ;
        System.out.println("第一季度的營業額為:"+sum2);
        double sum3= getSum(21,35,10) ;
        System.out.println("第一季度的營業額為:"+sum3);
        double sum4= getSum(45,27,38) ;
        System.out.println("第一季度的營業額為:"+sum4);
        double All = sum1+sum2+sum3+sum4;
        System.out.println("全年營業總額為:"+All);
    }
}

執行結果:
第一季度的營業額為:60.0
第一季度的營業額為:69.0
第一季度的營業額為:66.0
第一季度的營業額為:110.0
全年營業總額為:305.0

練習2:

package com.itheima.Method;

//需求:定義方法,比較兩個長方形的面積
public class Demo09 {
    public static double getArea(double length, double width) {
        double Area = length * width;
        return Area;
    }
    public static void main(String[] args) {
        double Area1 = getArea(5, 6);
        double Area2 = getArea(6, 9);
        System.out.println("第一個長方形的面積是:" + Area1);
        System.out.println("第二個長方形的面積是:" + Area2);
        if (Area1 > Area2) {
            System.out.println("第一個長方形的面積更大");
        } else {
            System.out.println("第二個長方形的面積更大");
        }
    }
}

執行結果:

第一個長方形的面積是:30.0
第二個長方形的面積是:54.0
第二個長方形的面積更大

方法的注意事項:

  1. 方法不呼叫就不執行

  2. 方法與方法之間是平級關係,不能互相巢狀定義(自己定義的方法不能放入主方法裡面,否則程式會報錯)

  3. 方法的編寫順序和執行順序無關(誰先被呼叫,誰就先被執行)

  4. 方法的返回型別為void,表示該方法沒有返回值。沒有返回值的方法可以省略return語句不寫。如果要編寫return,後面不能跟具體的資料。

  5. Return語句下面,不能編寫程式碼,因為永遠執行不到,屬於無效的程式碼。

return關鍵字:

  1. 方法沒有返回值:可以省略不寫,如果書寫表示結束方法

  2. 方法有返回值:必須要寫,表示結束方法和返回結果