方法

作者: 了春风 | 来源:发表于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