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); } } }