定义Java中的方法

语法结构:

访问修饰符   返回值类型   方法名(参数列表){
                    方法体
}

注意:
1、方法体放在一对大括号中,实现特定的操作;
2、方法名主要在调用这个方法时使用,需要注意命名的规范,一般采用第一个单词首字母小写,其它单词首字母大写的形式。

其中:
  • 访问修饰符:方法允许被访问的权限范围。可以是
    private 私有的
    default 默认的
    protected 受保护的
    public 公开的
    权限关系为

  • 返回值类型:方法返回值的类型。如果方法不返回任何值,则返回值类型指定为 void ;如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值。

  • 方法名:定义的方法的名字,必须使用合法的标识符。

  • 参数列表:传递给方法的参数列表。参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开。

根据是否带参、返回值,方法分为四类:

  • 无参无返回值方法
public class HelloWorld {

    public static void main(String[] args) {
        // 创建对象,对象名为hello
        HelloWorld hello=new HelloWorld();

        // 调用方法
        hello.showMyLove();
    }

    /*
     * 定义无参无返回值的方法
     */
    public void showMyLove() {
        System.out.println("我爱java!");
    }
}
  • 无参带返回值方法
public class HelloWorld{

    public static void main(String[] args) {

        // 创建名为hello的对象
        HelloWorld hello = new HelloWorld();

        // 调用hello对象的calcAvg()方法,并将返回值保存在变量avg中
        double avg = hello.calcAvg();

        System.out.println("平均成绩为:" + avg);
    }

    // 定义一个返回值为double类型的方法
    public  double  calcAvg() {

        double java = 92.5;
        double php = 83.0;
        double avg = (java + php) / 2; // 计算平均值

        // 使用return返回值
        return avg;

    }
}
  • 带参无返回值方法
    有时方法的执行需要依赖于某些条件,换句话说,要想通过方法完成特定的功能,需要为其提供额外的信息才行。例如,现实生活中电饭锅可以实现“煮饭”的功能,但前提是我们必须提供食材,如果我们什么都不提供,那就真是的“巧妇难为无米之炊”了。我们可以通过在方法中加入参数列表接收外部传入的数据信息,参数可以是任意的基本类型数据或引用类型数据。
    调用带参方法与调用无参方法的语法类似,但在调用时必须传入实际的参数值,即:
    “对象名.方法名(实参1,实参2,……实参n);”
    很多时候,我们把定义方法时的参数称为形参,目的是用来定义方法需要传入的参数的个数和类型;把调用方法时的参数称为实参,是传递给方法真正被处理的值。
    一定不可忽视的问题:
    1、调用带参方法时,必须保证实参的数量、类型、顺序与形参一一对应;
    2、调用方法时,实参不需要指定数据类型;
    3、方法的参数可以是基本数据类型,如 int、double 等,也可以是引用数据类型,如 String、数组等;
    4、当方法参数有多个时,多个参数间以逗号分隔。
public class HelloWorld {
    public static void main(String[] args) {

        // 创建对象,对象名为hello
        HelloWorld hello = new HelloWorld();

        // 调用方法,传入两门课程的成绩
        hello.calcAvg(94, 81);
    }

    /*
     * 功能:计算两门课程考试成绩的平均分并输出平均分
     * 定义一个包含两个参数的方法,用来传入两门课程的成绩
     */
     public void calcAvg(double a,double b){
         double c;
         c=(a+b)/2;
         System.out.println("平均分"+c);
     }
}
  • 带参带返回值方法
import java.util.Arrays;

public class HelloWorld {
    public static void main(String[] args) {
        HelloWorld hello = new HelloWorld();
        int[] scores={79,52,98,81};

        //调用方法,传入成绩数组,并获取成绩的个数
        int count=hello.sort(scores);

        System.out.println("共有"+count+"个成绩信息!");
    }

    /*
     * 功能:将考试成绩排序并输出,返回成绩的个数
     * 定义一个包含整型数组参数的方法,传入成绩数组
     * 使用Arrays类对成绩数组进行排序并输出
     * 方法执行后返回数组中元素的个数
     */
    public int sort(int[] scores){
        Arrays.sort(scores);
        System.out.println(Arrays.toString(scores));

        //返回数组中元素的个数
        return scores.length;
    }
}

方法的重载

  • 什么是方法的重载呢?
    如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。如下所示 4 个方法名称都为 show ,但方法的参数有所不同,因此都属于方法的重载。
    这里写图片描述
  • 如何区分调用的是哪个重载方法呢?
    当调用被重载的方法时, Java 会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将被执行。
    这里写图片描述
  • 判断方法重载的依据
    1、必须是在同一个类中;
    2、方法名相同;
    3、方法参数的个数、顺序或类型不同;
    4、与方法的修饰符或返回值没有关系。
    例子:
public class HelloWorld {
    public static void main(String[] args) {

        // 创建对象
        HelloWorld hello = new HelloWorld();

        // 调用无参的方法
        hello.print();

        // 调用带有一个字符串参数的方法
        hello.print("imooc");

        // 调用带有一个整型参数的方法
        hello.print(18);
    }

    public void print() {
        System.out.println("无参的print方法");
    }

    public void print(String name) {
        System.out.println("带有一个字符串参数的print方法,参数值为:" + name);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值