方法

作者: 了春风 | 来源:发表于2021-03-31 08:42 被阅读0次

    方法是什么

    java的方法是语句的集合,他们在一起执行一个功能

    • 方法是解决一类问题的有序集合
    • 方法包含在类或对象中
    • 方法在程序中创建,在其他地方引用

    设计方法的原则

    方法的原子性:就是一个方法只完成一个功能,这样有利于后期扩展
    命名规则:驼峰命名

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

    修饰符 返回值类型 方法名 (参数类型 参数名){
    ...
    方法体
    ...
    return 返回值;
    }

    方法的重载

    重载是在一个类中,有相同的函数名称,但形参不同。

    方法的重载规则

    • 方法名必须相同
    • 参数列表必须不同(个数不同,或参数不同、参数排列顺序不同)
    • 方法的返回值类可以相同也可以不同
    • 仅仅返回值类型不同,不足以成为方法的重载

    可变参数

    在方法声明中,在指定的一个参数类型后加一个省略号(...)。
    在一个方法中只能指定一个可变参数,他必须是方法的最后一个参数,任何普通的参数必须放在他之前声明。

    public class Demo08 {
        public static void main(String[] args) {
            int add = add(1, 2, 3, 3, 4, 5);
            System.out.println(add);
        }
        public static int add(int ... x){
            int m = 0;
            for (int i = 0; i < x.length; i++) {
                m = m+x[i];
            }
            return m;
        }
    }
    

    递归(不推荐使用)

    递归就是:A方法调用A方法!自己调用自己。
    利用递归可以用简单的程序解决一些复杂的问题
    但不推荐使用

    递归的结构

    • 递归头:什么时候不调用自身方法,如果没有头就会进入死循环。
    • 递归体:什么时候调用自身方法。
    public class Demo08 {
        public static void main(String[] args) {
            int f = f(5);
            System.out.println(f);
        }
        //5! 5*4*3*2*1
        /*
        f(5) = 5*f(4) = 120
        f(4) = 4*f(3) = 24
        f(3) = 3*f(2) = 6
        f(2) = 2*f(1) = 2
        f(1) = 1
         */
        public static int f(int i){
            if (i==1){
                return 1;
            }else {
                return i*f(i-1);
            }
        }
    }
    

    递归缺点

    1、时间和空间的消耗比较大
    2、重复计算
    3、调用栈溢出

    相关文章

      网友评论

          本文标题:方法

          本文链接:https://www.haomeiwen.com/subject/uuybhltx.html