欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java基础之方法定义和分类以及方法的重载

程序员文章站 2022-04-15 18:49:51
方法的定义方法其实就是若干语句的功能集合。举个非常形象的例子:冰激凌工厂:原材料(水,白砂糖,奶油)产出品:冰激凌参数(原料):就是进入方法的数据返回值(产出物):就是从方法中出来的数据......

目录

前言

方法的定义

定义方法的格式

方法的分类

代码举例

第一类:无参数无返回值的方法

第二类:有参数有返回值的方法

第三类:如何判别方法需不需要参数?

第四类:如何判别方法需不需要返回值?

方法注意事项

方法的重载

重载代码举例


前言

各种语言都有它自己的特点,同时与其他语言又有很多的共同之处。对任何一门语言的学习,基础很重要。下面小编带大家来学习一下Java当中的方法以及方法的重载。

方法的定义

方法其实就是若干语句的功能集合。举个非常形象的例子:

冰激凌工厂:原材料(水,白砂糖,奶油)

产出品:冰激凌

参数(原料):就是进入方法的数据

返回值(产出物):就是从方法中出来的数据

方法就是用进入工厂的原料即参数,得到消费者需要的产品即返回值,其中,方法的参数类型多种多样,可多可少,方法返回值可有可无。

定义方法的格式

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

具体解释一下:

修饰符:public static,private...

返回值类型:也就是方法最终产生的数据是什么数据类型

方法名称:方法的名字,和变量一样,采用小驼峰命名(xxxYyyZzz)

参数类型:进入方法的数据是什么类型

参数名称:进入方法的数据对应的变量的名称

ps:如果参数有多个,使用逗号进行分隔

方法体:方法需要做的事情,若干行代码

return:两个作用,第一停止当前方法,第二将后面的返回值还给调用处

返回值:方法执行后最终产生的结果

注意:return后面的返回值,必须和方法名称前面的返回值的类型保持一致。

方法的分类

按照参数来分:分为有参数的方法和无参数的方法

按照返回值来分:分为有返回值的方法和无返回值的方法

代码举例

第一类:无参数无返回值的方法

public class Demo02Method {
    public static void main(String[] args) {
        //方法的调用
        printMethod();
    }
    //定义方法:该方法用来循环打印输出五行*,每行20个
    public  static void printMethod() {
        for (int i = 1; i <= 5; i++) {
            for (int j = 1; j <= 20; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

第二类:有参数有返回值的方法

定义一个两个int数字相加的方法 ,其中方法三要素:
返回值类型:int
方法名称:sum
参数列表:int num1,int num2

 public class Demo02MethodDefine {
    public static void main(String[] args) {
        int a=1;
        int b=6;
        //调用求和方法
        int sum=sum(a,b);
        System.out.println("ab两数的和为:"+sum);
    }
    //定义方法:该方法用来求两个数之和
    public static int sum(int num1,int num2) {
        int sum=num1+num2;
        return sum;
    }

} 

第三类:如何判别方法需不需要参数?

有参数的方法::两个数字相乘,必须知道两个数字是多少,才能进行计算,必须要有参数。
无参数的方法:不需要任何数据,就可以完成任务。例如打印输出固定的10次文本字符串。

public class Demo02MethodParam {
    public static void main(String[] args) {
        multiply(10,20);
        print();
    }
    //有参数的方法::两个数字相乘,必须知道两个数字是多少,才能进行计算,必须要有参数。
    public static void multiply(int a,int b) {
        int result=a*b;
        System.out.println("结果是:"+result);
    }

    //无参数的方法:不需要任何数据,就可以完成任务。
    //例如打印输出固定的10次文本字符串
    public static void print() {
        for (int i = 0; i < 10; i++) {
            System.out.println("Hello World"+i);
        }
    }
}

第四类:如何判别方法需不需要返回值?

public class Demo02MethodReturn {
    public static void main(String[] args) {
        //调用getSum()方法,接受返回值
        int sum=getSum(10,20);
        System.out.println("返回值为:"+sum);
        //调用无返回值的printResult方法
        printResult(100,200);
    }

    //有返回值:计算两数之和
    public static int getSum(int a,int b){
        int result=a+b;
        return result;
    }

    //无返回值,直接打印输出结果
    public static void printResult(int a,int b){
        int result=a+b;
        System.out.println("结果是:"+result);
    }
}

方法注意事项

Java基础之方法定义和分类以及方法的重载

方法的重载

定义:多个方法的名称一样,但是参数列表不一样。

方法重载与下列因素相关:

1.参数个数不同

2.参数类型不同

3.参数的多类型顺序不同

方法重载与下列因素无关:

1.参数名称

2.与方法的返回值类型无关

重载代码举例

如果我们想要定义一个sum方法,用来求数字之和,但是我们想要实现sum方法既可以求2个int数字之和,也可以求3个int

数字之和,还可以求int+double之和,总之不论几个数据,不论是int和double都用一个sum方法来实现。

public class Demo01MethodOverload {
    public static void main(String[] args) {
        System.out.println(sum(10,20));     //30
        System.out.println(sum(10,20,30));  //60
        System.out.println(sum(10,20,30,40));   //100
        System.out.println(sum(10,50.2));       //60
        System.out.println(sum(50.3,80));       //130
    }

    public static int sum(int num1,int num2){
        return num1+num2;
    }

    public static int sum(int num1,int num2,int num3){
        return num1+num2+num3;
    }

    public static int sum(int num1,int num2,int num3,int num4){
        return num1+num2+num3+num4;
    }

    public static int sum(int num1,double num2){
        return (int)(num1+num2);
    }

    public static int sum(double num1,int num2){
        return (int)(num1+num2);
    }
} 

方法以及方法的重载就先介绍到这里吧,希望能对您有所帮助!

本文地址:https://blog.csdn.net/wtt15100/article/details/108014882