Java 方法


方法的概述

什么是方法?

-方法,也叫函数,是完成特定功能的代码块。

为什么需要方法?

-当一些代码被反复使用时,可以包他们提取出来,放到一个方法里面,以方法的形式来使用这些代  码

方法的好处

-大大提高代码的复用性,方便维护

方法的格式

修饰符 返回值的类型 方法名(参数类型 参数名....){

     //方法体语句;

     return 返回值;

}

eg:

public static void main(String[] args){

     //方法体语句;

     return;

}

方法的格式说明

1.修饰符:public static

2.返回值类型:方法执行结果的数据类型

3.方法名:方法的名称,符合标识符命名规则即可

4.参数列表:方法执行需要的条件

参数类型:可以是基本类型,也可以是引用类型

参数名:即变量名

5.方法体语句:完成特定功能的代码

6.return:意思是返回,用于结束方法

7.返回值:方法执行之后的结果,返回值给方法的使用这。若没有返回值,则它的返回值类型为void,比如main方法

方法的定义和调用

1.方法的定义

如果定义一个方法

-1.确定方法名

-2.确定返回值类型

-3.确定参数列表

例子:

//需求:求两个数字之和

/*

-注意:

-1.方法和方法之间是平级关系,不能嵌套定义

*/

public class MethodDemo01 {

    public static void main(String[] args) {

        //调用sum方法

        /*

        调用方法的注意事项:

        -1.可以根据方法名直接调用方法

            eg:sum();

        -2.方法要什么就给什么

            方法需要什么类型的参数,你就传入什么类型的参数

        -3.方法传入什么类型的参数,你就用什么类型的参数接收

        */

        //单独调用

        sum(60,5);//65,不显示

        //赋值调用

        int result =sum(3,5);//8

        System.out.println("result="+result);

        //打印调用

        System.out.println("两数之和:"+sum(10,5));//15

    }

    //定义sum方法

    /*

    分析:

    -A.方法名:sum

    -B.返回值类型:int

    -C.参数列表:int a ,int b

    */

    public static int sum(int a,int b){

        int result;

        result = a + b;

        return result;

    }

}

运行结果:


2.方法的调用

概念:使用方法的过程成为方法的调用

调用方法

-A:通过方法名调用方法

-B:根据形式参数列表将实际参数传递给方法

形式参数:在方法定义时需明确方法参数的形式,比如参数的类型和个数,故方法定义的参数列表

方法调用过程

-1.通过方法名调用方法

-2.传递实际参数

-3.方法执行时,实际参数值赋值给形式参数

-4.在方法中进行运算,并将结果赋值给返回值

-5.方法的返回值赋值给接收者x,如果没有返回值,则不需要接受

例子:

import java.util.Scanner;

//需求:键盘录入两个整数,比较他们是否相同

public class MethodDemo02 {

    public static void main(String[] args) {

        //2.从键盘中录入两个整数

        //2.1新建键盘录入对象

        Scanner sc =new Scanner(System.in);

        //2.2提示用户录入两个整数并接收

        System.out.println("请输入第一个整数:");

        int num1 = sc.nextInt();

        System.out.println("请输入第二个整数:");

        int num2 = sc.nextInt();//num1 ,num2 是实参

        //3.调用方法,接收结果,打印结果

        boolean is =compare(num1,num2);

        System.out.println(is);

    }

    //1.定义方法,用来比较两个整数是否相等

    /*

    定义方法实现,要确定三个部分

    1.方法名:该方法要实现”比较“功能:compare

    2.返回值类型:比较结果为是否相同,所以是boolean类型

    3.参数列表:要实现比较功能,需要"两个整数"作为条件,

    所以参数为:int a ,int b

    */

    public static boolean compare(int a,int b){

        /*

        boolean result;

        result = (a ==b);

        return result;

        */

        //优化代码

        return a == b;

    }

}

运行结果:


定义方法的注意事项

-1.方法必须定义在类中

-2.方法之间是平级关系,不能嵌套

-3.没有返回值时,返回类型必须写成:void

-4.方法返回类型为void时,可以省略最后的return语句

-5.return语句后的值类型必须和方法的返回值类型一致

-6.return之后不能再放置语句

方法重载

什么是方法重载?

在同一个类中的多个方法,它们的方法名相同,参数列表不同,这样的情况,称为方法重载。方法重载与返回值类型无关。

参数列表不同:

参数的个数不同

对应位置的参数类型不同

方法签名不同:方法名+方法列表

为什么需要方法重载?

当实现功能相同,但具体的实现方法不同时,我们可以通过定义名称相同,参数(条件)不同的方法,来更好的识别和管理类中的方法。

例子:

//比较两个数是否相同

//需求:分别比较两个int/long/double类型的两个数是否相同

import java.util.Scanner;

public class MethodDemo03 {

    public static void main(String[] args) {

        //2.定义实参

        //定义两个int类型的数

        int num1,num2;

        //定义两个long类型的数

        long num3,num4;

        //定义两个double类型的数

        double num5,num6;

        num1 =10;

        num2 =20;

        num3 =40L;

        num4 =40L;

        num5 =3.14;

        num6 =5.6;

        //3.调用方法,获取结果,打印结果

        //调用方法,比较两个整数是否相同

        boolean is ;

        is =compera(num1 , num2);

        System.out.println(is);//false

        //调用方法,比较两个long类型的数是否相同

        is =compera(num3,num4);

        System.out.println(is);//true

        //调用方法,比较两个double类型的数是否相同

        is =compera(num5,num6);

        System.out.println(is);//false

    }

    //定义方法,比较两个int类型的数是否相同

    public static boolean compera(int a,int b){

        System.out.println("比较两个int类型的数");

        return a == b;

    }

    //定义方法,比较两个long类型的数是否相同

    public static boolean compera(long a,long b){

        System.out.println("比较两个long类型的数");

        return a == b;

    }

    //定义方法,比较两个double类型的数是否相同

    public static boolean compera(double a,double b){

        System.out.println("比较两个double类型的数");

        return a == b;

    }

}

运行结果:


你可能感兴趣的:(Java 方法)