java方法基础

Java方法

方法是语句的结合,它们在一起执行一个功能。

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

设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。设计方法的时候,一个方法只完成1个功能,有利于后期扩展。(原子性)

命名规则:首字母小写,后面驼峰原则。

方法定义

包含方法头和方法体,定义:

修饰符 返回类型 方法名(参数类型 参数名){

//方法体

return 返回值;}

方法重载

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

可变参数

当我们需要传的参数数量变化时,需要重载方法,而如果参数数量很多,没有办法一个一个的重载,就需要使用可变参数,示例:

public class Demo1 {
    public static void main(String[] args) {
        Demo1 demo1 = new Demo1();
        System.out.println(demo1.Max(1,2,3,4,5,2,99,7,8));
    }

    public static int Max(int... i) {
        int max=0;
        if(i.length==0){//检查传参数量
            System.out.println("没有数字");
            return 0;
        }else {//遍历得最大值
            for(int j=0;j<i.length;j++){
                if(i[j]>max)max=i[j];
            }
        }
        return max;
    }
}
  • 从JDK1.5开始,支持传递同类型的可变参数给一个方法。
  • 方法声明中,在指定参数类型后加上一个省略号(...)。
  • 一个方法中只能指定一个可变参数,它必须是芳芳的最后一个参数。任何普通参数必须在它之前声明。

递归

递归就是方法多次调用自己,重复一个与原问题相似的较小规模问题来求解原大型复杂的问题。通过多次重复计算大大减少了代码量。

递归结构包括两部分:

  • 递归头:什么时候不调用自己方法。如果没有头,将陷入死循环。

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

    示例:计算阶乘

public class Demo {
    public static void main(String[] args) {
        Scanner scanner =new Scanner(System.in);

        int n=di(scanner.nextInt());
        System.out.println(n);

        scanner.close();
    }
    public static int di(int n){
        if(n==1)return 1;//判断n是否为1;
        else {
            return n*di(n-1);//递归计算阶乘
        }
    }
}
posted @ 2023-01-29 15:18  西瓜星冰乐  阅读(19)  评论(0)    收藏  举报