分享

方法重载与可变参数与递归

 丹枫无迹 2021-05-12
  • 举例说明:

//方法有修饰符,返回值类型,方法名,参数类型,参数名
public static int name(int a,int b){//这里是形参,主方法内调用并给真实传递的才是实参
    //方法体
    return a+b;
}
  • 有返回值类型的,一般会被main方法调用去返回一个值,返回值类型为空的,方法一定是一条语句
    有返回值参数的方法,一般被调用一般会被当做一个值,可以直接sout输出,也可以返回一个值在输出,一般直接sout输出值

方法的重载

  • 在一个类中,有相同的方法名,但参数列表不同

  • 方法名相同,参数列表不同(个数不同,类型不同,顺序不同),返回值类型可同可不同

不定项参数(可变参数)

  • 例如:

//可变参数的本质就是数组,所以我们要输出a的元素时需要用a[0],a[1]...
public static int name(int... a){
}

递归(能不用则不用,主要学习递归思想)

  • 递归头:什么时候不调用此方法,就是要有尽头,不然会陷入死循环

  • 递归体:什么时候需要调用自身

  • 例如:

//当程序执行到f(1)的时候,就会结束,真正结束,会返回一个整数,在这里f(1)就是递归头
public static int f(int n){
        if (n==1){ 
            return 1;
        }else{
            return n*f(n-1);
        }
    }
/*
递归说白了就是方法有尽头的自身调用自身,所以我们要想办法让它有尽头
递归就是把方法往栈中一层层的压,所以对于那些嵌套层次比较深的算法,递归就不行了,因为会占用大量内存,造成内存奔溃。
递归适用于一些小计算
Java都是使用栈机制的
*/

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多