publicstaticvoid main(String[] args) throws ParseException,UnsupportedEncodingException {
// 递归算法是一种直接或间接地调用自身的算法。
// 递归算法解决问题的特点:
// 1)递归就是方法里调用自身。
// 2) 在使用递增归策略时,必须有一个明确的递归结束条件,称为递归出口。否则会抛出StackOverflowError异常。
// 3)递归算法解题通常显得很简洁,但递归算法解题的运行效率较低。所以一般不提倡用递归算法设计程序。
// 4)在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出(StackOverflowError异常)等
int c = Test.sum(1000);
System.out.println(c);
}
public static int sum (int num ){ //定义方法用于求和操作
if(num == 1){ //判断是否加到了最后一个数
return 1;
}else{
return num + sum(num-1); //递归调用
//该程序的递归方法调用,相当于100 + sum(99) +sum(98) + … +sum(1)
}
}