方法以及方法的重载和方法的递归调用

方法以及方法的重载和方法的递归调用

方法根据方法的有无参数和有无返回值分为以下四类:

(1)无参无返回值
(2)无参有返回值
(3)有参无返回值
(4)有参有返回值

  • 方法调用
    static修饰的方法:类名.方法名()(如果在同一个类中可以直接省略掉类名.,直接方法名()就可以调用
    类的成员方法:在static方法中调用类的成员方法必须通过对象来引用,引用(对象名).方法。如果在类的成员方法中调用另一个成员方法,用this.方法名(),这里的this可以省略掉,直接用方法名()进行调用。
    方法返回值类型必须与方法定义的数据类型保持一致。

  • 方法的重载
    方法的重载只与参数列表有关(参数类型、参数个数、参数顺序),与参数的返回值类型和修饰符无关
    在这里插入图片描述
    方法的重载好处是让人觉得好像是调用一个方法。

  • 方法的递归调用
    递归:函数内部调用自身函数的编程技巧称为递归。
    构成条件:(1)子问题须与原始问题为同样的事。
    (2)不能无限制的调用本身,需要有个出口,化简为非递归状况处理。

求1~10的和

public class Test05 {
    求1~10的和
    public static void main(String[] args) {
        int num = 10;
        int sum = sum(num);
        System.out.println(sum);
    }

    public static int sum(int i) {
        if (i == 1)
            return 1;
        return i + sum(i - 1);
    }
}

在这里插入图片描述

求10的阶乘

public class Test05 {
    求10的阶乘
    public static void main(String[] args) {
        int num = fun(10);
        System.out.println("10!="+num);
    }

    public static int fun(int i) {
        if (i == 1)
            return 1;
        return i * fun(i - 1);
    }
}

缺点:递归调用栈可能会溢出,其实每调用一次递归会在栈中分配空间,而每个进程的栈的内容的栈的容量是有限的,当调用的层次太多的时候,就会超出栈的容量,出现溢栈。
优点:代码简洁;在树的前序、中序、后序遍历算法中,递归的实现比循环简单。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值