Java 方法

目录

1.什么是方法

2.方法的定义语法

3.方法的重载

4.重载的规则


1.什么是方法

在Java中方法就是一个代码片段,他和C语言中的“函数”类似,方法的存在意义呢就是为了能模块化的组织代码,增强代码的可读性,并且当一段代码需要反复使用时,我们可以使用方法,多次调用即可。

例如:当我们求1到5 的阶乘和

 public static void main(String[] args) {
        int sum = 0;
        for (int i = 1; i <= 5; i++) {
            int tmp = 1;
            for (int j = 1; j <= i; j++) {
                tmp *= j;
            }
            sum += tmp;
        }
        System.out.println("sum = " + sum);
    }

这种方法用了双重循环,比较容易出错

而当我们使用方法,就可以大大的优化,并且更加的通俗易懂

  //求n的阶乘
    public static int fac(int n){
        int s = 1;
        for (int i = 1; i <= n; i++) {
            s = s * i;
        }
        return s;
    }
    //求1到n的阶乘和
    public static int facSum(int n){
        int sum = 0;
        for(int i = 1; i <= n; i++) {
            sum = sum +fac(i);
        }
        return sum;
    }

    public static void main(String[] args) {
        System.out.println(facSum(5));
    }

接下来,让我们更加具体的去了解方法。

2.方法的定义语法

// 方法定义
public static 方法返回值 方法名称([参数类型 形参 ...]){
方法体代码;
[return 返回值];
}
// 方法调用
返回值变量 = 方法名称(实参...);

其中我们要注意的是在方法的定义中参数是形参,而当我们调用方法时传入的是实参,所以当我们调用方法调换两数的值是就会遇到问题:如下 

public static void main(String[] args) {
    int a = 10;
    int b = 20;
    swap(a, b);
    System.out.println("a = " + a + " b = " + b);
}
public static void swap(int x, int y) {
    int tmp = x;
    x = y;
    y = tmp;
}

当我们运行这段代码时,希望的是得到“a = 20, b = 10”,但得到的却没有发生改变,这是因为形参的改变不能影响到实参,对于基础类型来说,形参相当于实参的拷贝,这里只能传值调用,不能影响到他的地址,需要以后学习引用相关知识解决这类问题。

3.方法的重载

在使用方法时,有时我们需要一个方法可以兼容多种参数的情况,这时就需要方法的重载,在Java中可以允许同名函数的存在

public static void main(String[] args) {
    int a = 10;
    int b = 20;
    int ret = addInt(a, b);
    System.out.println("ret = " + ret);
    double a2 = 10.5;
    double b2 = 20.5;
    double ret2 = addDouble(a2, b2);
    System.out.println("ret2 = " + ret2);
}
public static int addInt(int x, int y) {
    return x + y;
}
public static double addDouble(double x, double y) {
    return x + y;
}

同一个方法,提供不同版本的实现,我们称为是方法重载

4.重载的规则

如果一个类的两个方法(无论是在一个类中声明的还是都有一个类继承的,或者一个声明的,一个是继承的)

1.具有相同的名字

2.参数不同

3.方法的返回值类型不影响重载

则称这为方法的重载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值