方法:
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;
}
}
如果大牛发现有错误或不对或理解有误,欢迎指正。
不断的在学习中成长。