package _01_Method;
public class Method_03 {
public static void main(String[] args) {
int Sum = sum(1,2);
System.out.println(Sum);
}
//1 需求 : 向控制台打印1-10
public static void print_01(){
for (int i = 1;i < 11; i++){
System.out.println(i);
}
}
//2 需求: 向控制台打印1-N的值
//参数列表中的变量是局部变量
public static void print_01(int n){
for (int i = 1;i <=n; i++){
System.out.println(i);
}
}
//3 需求 : 计算a+b的值
public static int sum(int n,int m){
int sum = n + m;
return sum;
}
}
package _01_Method;
public class Method_04 {
public static void main(String[] args) {
}
//计算n+m的值
//相同功能同名,但类型不同即可,即为方法重载
//同名但不是同一个方法
public static int sum(int n,int m){
int sum = n + m;
return sum;
}
public static double sum(double n,double m){
double sum = n + m;
return sum;
}
public static long sum (long n,long m){
long sum = n + m;
return sum;
}
}
package _01_Method;
public class Method_05 {
public static void main(String[] args) {
System.out.println(0);
}
public static void test(){
test2();
System.out.println(1);
}
public static void test2(){
System.out.println(2);
}
}
package _02_Recursion;
public class Recursion_01 {
//未设置终止条件,栈内存溢出
// public static void main(String[] args) {
// test();
// }
// public static void test(){
// test();
// System.out.println(1);
// }
public static void main(String[] args) {
int q = sum1(5);
System.out.println(q);
}
public static int sum(int n){
int sum = 0;
for (int i=1; i<= n;i++){
sum+=i;
}
return sum;
}
public static int sum1(int n){
if (n == 1){
return 1;
}else{
return n + sum (n - 1);
}
}
}
package _02_Recursion;
public class Recursion_02 {
public static void main(String[] args) {
int result = factorial(5);//如果数太大,这会导致栈满报错
System.out.println(result);
System.out.println(count);
}
static int count=0;
public static int factorial(int n ){
count++;
if(n == 1| n== 2 ){
return 1 ;
}else{
return factorial(n-1)+factorial(n-2);
}
}
}