Java方法的返回值及注意事项
阅读原文时间:2023年07月08日阅读:1

方法的返回值

为什么要有带返回值的方法呢?

调用处拿到方法的结果之后,才能根据结果进行下一步操作

带返回值方法的定义和调用:

  1. 如果在调用处,要根据方法的结果去编写另一段代码逻辑

  2. 为了在调用处拿到方法产生的结果,就需要定义带有返回值的方法

    1.带返回值方法定义的格式:

    public static 返回类型 方法名 (参数) {
    方法体;
    return 返回值;
    }

eg:

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

2.带返回值方法的调用格式:

  1. 直接调用:

    方法名(实参);

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. 方法有返回值:必须要写,表示结束方法和返回结果