目录
一、Java递归方法
1.简单介绍:
递归方法中会调用该方法本身,可以用于计算比较复杂的场景。递归最终要取到具体数据,然后将数据一层一层的加工返回到起点。
如果递归方法没有一个最终能拿到数据的计算点,那么将陷入死循环。
2.案例:斐波那契数列
1)最终效果:使用递归方法打印出指定行数的斐波那契数列
2)代码实现:
public class Recursion {
public static void main(String[] args) {
Recursion rec = new Recursion();//声明对象
rec.printFibon(11);//打印斐波那契数列
}
//定义一个递归方法求出斐波那契数
public int fibonacci(int n){
if(n == 1){
return 1;
}
else if(n == 2){
return 1;
}else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
//遍历每一个范围内的斐波那契数
public void printFibon(int n){
for(int i = 1 ; i <= n ; i++){
System.out.println("第" + i + "项: " + fibonacci(i) );
}
}
}
3)输出结果
二、Java方法的重载
1.同名方法
重载的方法一定是有同名的,但是也一定是与其他同名方法的形参格式不同,或是个数不同,亦或是形参的类型不同。
2.案例:找出最大值
1)最终效果:构造两个重载方法,使其可以输入两个或三个数字,可以返回其最大值
2)代码实现:
主代码:
public class Overload {
public static void main(String[] args){
//找出2-3个数的最大值
TheMax test = new TheMax();//创建对象
System.out.println(test.getMax(10,1.5));//两个
System.out.println(test.getMax(1,2,5.9));//三个
}
}
类文件代码:
public class TheMax {
//找出两个数中的最大值
public double getMax(double i, double j){
double max = (i > j)? i : j;
return max;
}
//找出三个数中的最大值
public double getMax(double i, double j, double k){
double max = (i > j)? i : j;
max = (max > k)? max : k;
return max;
}
}
3)输出结果
-------------------------------------------完结✿✿ヽ(°▽°)ノ✿-----------------------------------------------
谢谢观看!
欢迎评论!