/*
不使用递归,计算1-N的和
使用递归,计算1-N的和
*/
public class recursion02
{
public static void main(String[] args)
{
//方法1 计算1-4的和
//缺点,固定只能计算单独的一次
int n=4;
int sum=0;
for(int i=1;i<=4;i++)
{
sum+=i;
}
System.out.println(sum);
//方法调用2
int rs=sum(n);
//方法调用3
int rs2=sum2(n);
//方法调用4
int rs3=sum3(n);
}
//方法2
//封装方法调用
public static int sum(int n)
{
int r=0;
for(int i=1;i<=n;i++)
{
r+=i;
}
return r;
}
//方法3
//递归调用
//用倒序的方法:4+3+2+1
public static int sum2(int n)
{
if(n==1)
{
return 1;
}
return n+sum2(n-1);//先执行完sum2(n-1)再运算加号内容
}
//方法4
//不用递归
//计算4的阶乘 4*3*2*1
//规律:一切累加的过程可以用+= *=...运算
public static int sum3(int n)
{
int result=1;
for(int i=n;i>0;i--)
{
result*=i;
}
return result;
}
//方法5
//使用递归
//计算4的阶乘
//必须记住递归的规律
public static int sum4(int n);
{
if(n==1)
{
return 1;
}
return n*sum4(n-1);
}
}