【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)有了值,然后再往回返回去...

原文地址:https://www.cnblogs.com/zhengchenhui/p/5709107.html