Java可变长参数和递归调用

Java可变长参数和递归调用

可变长参数

package base;

/**
 * 可变长参数
 * JDK5开始,java支持传递同类型可变长参数给一个方法
 * 在方法声明中,在指定参数类型后加一个省略号
 * 任何方法可以有一个可变参数,但是这个参数必须位于所有参数最后
 */
public class KeBianCanShu {
    public static void main(String[] args) {
        printMax(23,2,46,24,45.7);
        printMax(new double[]{1,2,44.6,33.2});
    }

    public  static void printMax(double...numbers){
        if(numbers.length==0){
            System.out.printf("No argument passed");
            return;
        }

        double result = numbers[0];

        for (int i = 0; i <numbers.length ; i++) {
            if(numbers[i]>result){
                result = numbers[i];
            }
        }
        System.out.println("the max value is "+ result);

    }
}

输出结果如下:
the max value is 46.0
the max value is 44.6

递归调用

递归就是A方法调用A方法,简单来说就是自己调用自己

递归结构包括两个部分:

递归头:什么时候不调用自身方法,如果没有头,就会陷入死循环

递归体:什么时候调用自身方法

package base;

public class DiGui {
    public static void main(String[] args) {
        DiGui diGui = new DiGui();
        int temp  = diGui.jieCheng(5);
        System.out.println(temp);
    }

    public int jieCheng(int temp){
        if(temp == 1){
            return  1;
        }else{
            return temp * jieCheng(temp-1);
        }
    }
}

输出结果:120

posted @ 2021-12-05 15:17  Dawn_006  阅读(69)  评论(0)    收藏  举报