首页 > 技术文章 > 12方法

star-Java 2020-11-22 16:23 原文

一、什么是方法?为什么要有方法?

1.方法本质是一个具有特定功能的代码块。

2.使用方法可以提高代码的复用性。

二、方法定义的格式

修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {
    方法体语句;
    return 返回值; 
} 

1.格式说明:

  a.修饰符:用于限定方法

  b.返回值类型:就是方法功能结果的数据类型

  c.方法名:符合Java的命名方法即可

  d.参数列表:参数的数据类型

   参数:变量名

    参数分为两种:实际参数:实际参与运算的

           形式参数:方法定义上的,用于接收实际参数

三、参数与返回值

1.方法的参数是指:在调用时传递给方法,需要被方法处理的数据。

2.方法可以有参数也可以没有参数,有参数可使方法处理更加灵活。

3.在方法定义时,需要声明该方法所需要的参数变量。

4.在方法调用时,会将实际的参数值传递给方法的参数变量。但是必须保证传递参数的类型和个数符合方法的声明。

5.方法在调用结束时可以返回一个数据,被称为返回值。

6.方法在声明时必须指定返回值类型:

  如方法不需要返回数据,将返回值类型定义成void。

  如方法需要返回数据,将返回值类型声明成特定数据类型。

四、方法的调用

1.格式:方法名(参数名);

1.在main方法(主方法中调用),让其执行起来

2.方法的形参:方法需要什么样的参数类型就定义什么样的参数类型以及参数

3.方法的返回值:方法返回什么类型的值我们就用对应的数据类型的变量来接收

五、代码案例(求圆的面积并使用方法)

import java.util.Scanner;
public class CircularArea {

    public static void main(String[] args) {
        System.out.println("请输入圆的半径");
        Scanner scanner = new Scanner(System.in);
        double r = scanner.nextDouble();
        double area = getArea(r);
        System.out.println("圆的面积是"+area);
    }

    public static double getArea(double r){
        //实现方法的功能主体
        //圆的面积ΠR*R
        double Π = 3.14;
        double area = Π*r*r;
        return area;
    }
}

六、调用方法的执行流程

1.方法的调用没有顺序,写在mian函数的上面或者下面都可以

2.方法的执行,就是把实际参数传递给形式参数,从而来执行的

3.方法只有被调用的时候才会执行

七、方法的定义和使用的注意事项

1.方法不能定义在另一个方法的里面

2.注意方法名字

3.注意参数列表

4.方法的返回值是void,方法中可以省略retrun,不写return,下面不能有代码

5.方法的返回值类型和return后面的数据类型必须匹配

6.方法重复定义的问题

7.调用方法的时候,返回值是void,不能写在输出语句中

 八、方法的重载

1.什么是方法的重载?

  在同一个类中,方法名相同,参数列表不同。

2.代码案例

public static int method01(int a,int b){
      System.out.println("方法1是两个int参数");
      return a+b;
}
public static int method02(int a,int b,int c){
      System.out.println("方法2是三个int参数");
      return a+b+c;
}
public static double method03(double a,double b){
      System.out.println("方法3是两个double参数");
      return a+b;
}

3.方法重载的注意事项

  a.参数列表必须相同

  b.重载和参数变量名无关

  c.重载和返回值类型无关

  d.重载和修饰符无关

  e.重载看方法名和参数列表

4.方法参数是基本数据类型

  方法参数是基本数据类型时,传递的时参数的值

5.方法参数是引用数据类型

  方法参数是引用数据类型的时候,传递的是内存地址的值

推荐阅读