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  阅读(90)  评论(0)    收藏  举报