Java教程

Java可变长参数和递归调用

本文主要是介绍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);

    }
}

递归调用

递归就是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);
        }
    }
}
这篇关于Java可变长参数和递归调用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!