java学习之路(7)- 方法与递归

方法:

Java方法是组合在一起来执行操作语句的集合。
方法定义包括方法头和方法体。下面是一个方法的所有部分:
* 修饰符
* 返回类型
* 方法名称
* 参数
* 方法体

/**
 *  方法的语法:
 *  修饰符 返回值类型 方法名(形式参数列表){
 *      方法体;
 *  }
 */
public class Method {
    public static void main(String[] args) {
        int num = add(11,33);//调用方法,11,33是实参
        System.out.println(num);//输出:44
    }
    //定义方法
    public static int add(int num1,int num2){//形参,int是定义形参类型,public是访问修饰符
        return num1+num2;
    }

}

递归:

递归问题,可以划分为一个或多个子问题,而处理子问题的规则与处理原问题的规则是一样的。

在设计递归算法时,主要需考虑以下两方面的问题:
1.确定方法的目的
确定递归公式。把规模大的、较难解决的问题变成规模较小、易解决的同一问题,需要通过哪些步骤或等式来实现?这是解决递归问题的难点。

确定边界条件。在什么情况下可以直接得出问题的解?这就是问题的边界条件及边界值。

/**
 * 假设设一个方法-->找规律-->找边界
 */
public class Recursion {
    public static void main(String[] args) {
        //用递归计算前n项之和:如1+2+3+...+100的和
        Scanner in = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int num = in.nextInt();
        System.out.println(Compute(num));
    }
        //分析:
        //假设Compute(n)是前n项的和            
        //Compute(n-1)是前n-1项的和  
        //找规律:      
        //规律:Compute(n)=Compute(n-1)+n;   
       //边界:(不满足上面规律的n值) 1
       //定义方法:
        public static int Compute(int n){
            if(n==1){
                return 1;
            }
            return Compute(n-1)+n;
        }
}

如果大牛发现有错误或不对或理解有误,欢迎指正。

不断的在学习中成长。

你可能感兴趣的:(JavaSE,java)