package com.test;
/**
* 递归
*
* @Package: com.test
* @ClassName: Recursion
* @author: zq
* @since: 2020/6/6 10:43
* @version: 1.0
* @Copyright: 2020 zq. All rights reserved.
*/
public class Recursion {
public static void main(String[] args) {
//计算1+2+3+。。。+100
getSumMethodOne();
int sumMethodTwo = getSumMethodTwo(100);
System.out.println(sumMethodTwo);
//计算阶乘:5!=5*4*3*2*1
getMultiplyMethodOne();
int multiplyMethodTwo = getMultiplyMethodTwo(5);
System.out.println(multiplyMethodTwo);
}
private static void getMultiplyMethodOne() {
int multiply = 1;
for (int i = 1; i <= 5; i++) {
multiply *= i;
}
System.out.println(multiply);
}
private static int getMultiplyMethodTwo(int i) {
//定义出口
if (i == 1) {
return 1;
}
//定义递归
return i * getMultiplyMethodTwo(i - 1);
}
private static void getSumMethodOne() {
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
System.out.println(sum);
}
private static int getSumMethodTwo(int i) {
//定义出口
if (i == 1) {
return 1;
}
//定义递归
return i + getSumMethodTwo(i - 1);
}
}