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

方法定义、方法重载

程序员文章站 2024-03-25 23:50:58
...

目录

方法定义

方法参数

方法三要素

列:定义一个方法,用来判断两个数字是否相同。

使用方法的注意事项

方法重载

列:方法重载练习

列:比较两个数据是否相等。参数类型分别为byte,short,int,long类型


方法定义

修饰符 返回值类型 方法名称(参数类型 参数名称, ...) {
    方法体
    return 返回值;
}
  • 修饰符:现阶段的固定写法,public static
  • 返回值类型:也就是方法最终产生的数据结果是什么类型
  • 方法名称:方法的名字,规则和变量一样,小驼峰
  • 参数类型:进入方法的数据是什么类型
  • 参数名称:进入方法的数据对应的变量名称
  • PS:参数如果有多个,使用逗号进行分隔
  • 方法体:方法需要做的事情,若干行代码
  • return:两个作用,第一停止当前方法,第二将后面的返回值还给调用处
  • 返回值:也就是方法执行后最终产生的数据结果

方法参数

有参数:小括号当中有内容,当一个方法需要一些数据条件,才能完成任务的时候,就是有参数。
例如两个数字相加,必须知道两个数字是各自多少,才能相加。

无参数:小括号当中留空。一个方法不需要任何数据条件,自己就能独立完成任务,就是无参数。
例如定义一个方法,打印固定10次HelloWorld。

方法三要素

方法名称、参数列表、返回值

列:定义一个方法,用来判断两个数字是否相同。

  
    public static void main(String[] args) {
        System.out.println(isSame(10, 20)); // false
        System.out.println(isSame(20, 20)); // true
        System.out.println(isSame(10,40));
    }

    /*
    三要素:
    返回值类型:boolean
    方法名称:isSame
    参数列表:int a, int b
     */
    public static boolean isSame(int a, int b) {
        
        /*  //方法一:
        boolean same;
        if (a == b) {
            same = true;
        } else {
            same = false;
        }*/

        // 方法二:boolean same = a == b ? true : false;
        // 方法三:boolean same = a == b;
        return a == b;
    }

使用方法的注意事项

1. 方法应该定义在类当中,但是不能在方法当中再定义方法。不能嵌套。
2. 方法定义的前后顺序无所谓。
3. 方法定义之后不会执行,如果希望执行,一定要调用:单独调用、打印调用、赋值调用。
4. 如果方法有返回值,那么必须写上“return 返回值;”,不能没有。
5. return后面的返回值数据,必须和方法的返回值类型,对应起来。
6. 对于一个void没有返回值的方法,不能写return后面的返回值,只能写return自己。
7. 对于void方法当中最后一行的return可以省略不写。
8. 一个方法当中可以有多个return语句,但是必须保证同时只有一个会被执行到,两个return不能连写。

public static int method1() {
    return 10;
}

public static void method2() {
//        return 10; // 错误的写法!方法没有返回值,return后面就不能写返回值。
    return; // 没有返回值,只是结束方法的执行而已。
}

public static void method3() {
    System.out.println("AAA");
    System.out.println("BBB");
//        return; // 最后一行的return可以省略不写。
}

public static int getMax(int a, int b) {
    if (a > b) {
        return a;
    } else {
        return b;
    }
}

方法重载

  • 方法重载:指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返回值类型无关。
  • 参数列表:个数不同,数据类型不同,顺序不同。
  • 重载方法调用JVM通过方法的参数列表,调用不同的方法。

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

1. 与参数的名称无关
2. 与方法的返回值类型无关

列:方法重载练习

    public static void main(String[] args) {
       System.out.println(sum(10, 20)); // 两个参数的方法
        System.out.println(sum(10, 20, 30)); // 三个参数的方法
        System.out.println(sum(10, 20, 30, 40)); // 四个参数的方法
        sum(10, 20);
    }
    public static int sum(int a, double b) {
        return (int) (a + b);
    }

    public static int sum(double a, int b) {
        return (int) (a + b);
    }

    public static int sum(int a, int b) {
        System.out.println("有2个参数的方法执行!");
        return a + b;
    }

    public static int sum(double a, double b) {
        return (int) (a + b);
    }

    public static int sum(int a, int b, int c) {
        System.out.println("有3个参数的方法执行!");
        return a + b + c;
    }

    public static int sum(int a, int b, int c, int d) {
        System.out.println("有4个参数的方法执行!");
        return a + b + c + d;
    }

列:比较两个数据是否相等。参数类型分别为byte,short,int,long类型

    public static void main(String[] args) {
        byte a = 10;
        byte b = 20;
        System.out.println(isSame(a, b));
        System.out.println(isSame((short) 20, (short) 20));
        System.out.println(isSame(11, 12));
        System.out.println(isSame(10L, 10L));
    }

    public static boolean isSame(byte a, byte b) {
        System.out.println("两个byte参数的方法执行!");
        boolean same;
        if (a == b) {
            same = true;
        } else {
            same = false;
        }
        return same;
    }

    public static boolean isSame(short a, short b) {
        System.out.println("两个short参数的方法执行!");
        boolean same = a == b ? true : false;
        return same;
    }

    public static boolean isSame(int a, int b) {
        System.out.println("两个int参数的方法执行!");
        return a == b;
    }

    public static boolean isSame(long a, long b) {
        System.out.println("两个long参数的方法执行!");
        if (a == b) {
            return true;
        } else {
            return false;
        }
    }

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关标签: 01 java