栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

java学习第七天(方法的重载和递归)

Java 更新时间:发布时间: 百科书网 趣学号
方法重载(overload)

重载的形式:
函数名相同,1:参数类型及2:数量不同,或者3:参数顺序不同
重载的作用:
增加了代码的易读性,例如同一个sum()可以计算不同类型之间的和,方法功能相似,但要操作的数不同
注意:
1:方法重载和返回值类型,修饰符列表无关
2:避免重复定义

public class method_overload{
	public static void main(String []name)
	{
		sum(10,23);
		sum(12.1,23.5);
	}

	//两个整数的和
	public static void sum(int a,int b)
	{
		int c=a+b;
		System.out.println("重载1");
		System.out.println(a+" + "+b+" = "+c);
	}

	//两个浮点数的和
	public static void sum(double a,double b){
		double c=a+b;
		System.out.println("重载2");
		System.out.println(a+" + "+b+" = "+c);
	}
}
方法递归(recursion)

常言道:迭代的是人,递归的是神
方法的递归调用就是方法自己调用自己
首先先来看一个普通的方法调用

public class Methode
{
	public static void main(String []arys)
	{

	}
	
	public static void Method1()
	{
		System.out.println("Method1 开始");
		Method2();
		System.out.println("Method1 结束");
	}
	public static void Method2()
	{
		System.out.println("Method2 开始");
		Method3();
		System.out.println("Method2 结束");
	}
	public static void Method3()
	{
		System.out.println("Method3 开始");
		Method4();
		System.out.println("Method3 结束");
	}
	public static void Method4()
	{
		System.out.println("Method4 开始");
		Method5();
		System.out.println("Method4 结束");
	}
	public static void Method5()
	{
		System.out.println("Method5 开始");
		System.out.println("Method5 结束");
	}
}

//运行结果

可以看到Method(1-5)基本相同,而方法的递归调用的执行机制和上面差不多,只不过是自己调用自己

两个递归案例

常见的Fibonacci数列

public class Method_recursion
{
    public static void main(String []arys){
        System.out.println("请输入要查询的Fibonacci数的项数");
        Scanner in=new Scanner(System.in);
        int n=in.nextInt();
        for(int i=0;i<=n;i++)
        System.out.print(sum(i)+" ");
    }
    public static int sum(int n){
        if(n==0||n==1)
            return 1;
        else
            return  sum(n-1)+sum(n-2);
    }
}

用递归计算1-n的和

public class Method_recursion
{
	public static void main(String []name){
		int n=100;
		System.out.println(sum(n));
	}
	public static int sum(int n)
	{
		if(n==1)
			return 1;
		else
			return n+sum(n-1);
	}
}
转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/889021.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号