理解方法的基本用法,方法重载,方法递归

什么是方法?
方法就是一个代码片段,类似于C语言中的"函数"
我们使用方法主要是为了:
1.能够模块化的组织代码(当代码模块比较复杂的时候)
2.让代码重复使用,一个代码可以在多个位置使用
3.让代码更好理解,更简单
4.直接调用现有方法开发,不必重复编写
方法定义语法

public static 方法返回值 方法名称([参数类型 形参...]){
方法代码;
[return 返回值];
}
//方法调用
返回值变量=方法名称(实参...);

实例:

class Test{
	public static void main(String[] args){
		int a=10;
		int b=20;
		int ret=Add(a,b);
		System.out.println(ret);
	}
	public staric int Add(int x,int y){
		return x+y;
	}
}

注意:1.public 和static 在此处有特定含义,暂不讨论
2.方法定义时,参数可以没有,每个参数要指定类型
3.方法定义时,返回值也可以没有,如果没有返回值类型则应写成void
4.方法定义时的参数叫做"形参",方法调用时的参数称为"实参"
5.方法的定义必须在类之中,代码书写在调用位置的上方或下方均可
6.JAVA中没有"函数声明"这样的概念
7.对于基础类型来说,形参相当于实参的拷贝,即传值调用,我们可以通过引用类型传参(例 如数组)

方法重载
同一个方法提供不同版本的实现

class Test { 
 public static void main(String[] args) { 
 int a = 10; 
 int b = 20; 
 int ret = add(a, b); 
 System.out.println("ret = " + ret); 
 double a2 = 10.5; 
 double b2 = 20.5; 
 double ret2 = add(a2, b2); 
 System.out.println("ret2 = " + ret2); 
 double a3 = 10.5; 
 double b3 = 10.5; 
 double c3 = 20.5; 
 double ret3 = add(a3, b3, c3); 
 System.out.println("ret3 = " + ret3); 
 } 
 public static int add(int x, int y) { 
 return x + y; 
 } 
 public static double add(double x, double y) { 
 return x + y; 
 } 
 public static double add(double x, double y, double z) { 
 return x + y + z; 
 } 
} 

重载规则:
针对同一个类:
1.方法名相同
2.方法的参数不同(参数个数或者参数类型)
3.方法的返回值类型不影响重载
当两个方法的名字相同, 参数也相同, 但是返回值不同的时候, 不构成重载.
方法递归
一个方法在执行过程中调用自身, 就称为 “递归”.
递归相当于数学上的 “数学归纳法”, 有一个结束条件, 然后有一个递推公式
实例:递归求 1+2+3+…+10;

public class addNum{
    public static void main(String[] args){
        int num=10;
        System.out.println(Add(num));
     }
        public static int Add(int num){
            if(num==1){
                return 1;
            }
            return num+Add(num-1);
        }
    }

递归是一种重要的编程解决问题的方式.
有些问题天然就是使用递归方式定义的(例如斐波那契数列, 二叉树等), 此时使用递归来解就很容易.
有些问题使用递归和使用非递归(循环)都可以解决. 那么此时更推荐使用循环, 相比于递归, 非递归程序更加高效.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值