【java基础】方法2
让形参可变的方法
jdk1.5之后,java允许定义形参长度可变的参数,允许为方法指定数量不确定的形参。
package object; public class VariableParam { //定义一个形参不固定的方法 public static void sum(int a , int... b) { int sum = a; //循环输出可变参数b for(int i : b){ sum += i; } System.out.println(sum); } public static void main(String[] args) { VariableParam.sum(5, 10); VariableParam.sum(5, 10, 15); VariableParam.sum(5, 10, 15, 20); } }
结果:
可变参数可以在不确定有几个参数的情况下使用。
长度可变的形参只能处于形参列表的最后,一个方法中最多只能包含一个长度可变的形参。
递归方法
一个方法体内调用它自生,被称为方法的递归。
方法递归包含了一种隐式循环。
package object; /** * 我想得到任意一个数的阶乘 * 什么是阶乘呢? * 就是 n*(n-1)*(n-2)*...*3*2*1 * 从n到1的乘积 * 怎么办呢?可以用递归 * * */ public class recursion { public static int f(int n) { if (1 == n) return 1; else return n*f(n-1); } public static void main(String[] args) { System.out.println(f(5)); } }
注意看一下,在方法中 又调用了方法,而且 实参值一直在减少 一直到f(1)有了值,然后再往回返回去...