java方法的理解和使用

方法调用的执行过程

调用方法—**>传递参数—>找到方法地址—>执行被调方法的方法体—>被调方法结束返回—>**回到主调方法继续往下执行

注:

  1. 定义方法时不会执行方法代码,调用是执行
  2. 一个方法可被多次调用
    事例:计算1!+2!+3!
public class Text{
   public static void main(String[] args) {
        int sum = 0;
        for (int i = 1; i <=3; i++) {
            sum += fac(i);
        } 
        System.out.println("sum = " + sum);
        //调用方法
        public static int fac(int n) {
        int result = 1;
        for (int i = 1; i <= n; i++) {
            result *= i;
        }
        System.out.println("计算 n 的阶乘中"+n+"! = " + result);
        return result;
    }
}

形参和实参

形参是在定义函数名和函数体的时候使用的参数。
实参是在调用时传递给函数的参数,即传递给被调用函数的值。

举例说明

3X + 2Y =5Z当X=48,Y=22,求Z? 其中X,Y,Z就是形参。48,22就是实参。

方法重载

  1. 为什么要重载
    重载的意义在于扩展父类的功能,如果有两个类A和B,继承C,那么在C的方法只需要定义A和B相同的功能,而在各个子类中扩展子类具体的实现。
  2. 在Java中,如果多个方法的名字相同,参数列表不同,则称该几种方法被重载了;编译器在编译代码时,会对实参类型进行推演,根据推演的结果来确定调用哪个方法 。
  • 重载函数用来实现功能类似而所处理的数据类型不同的问题。

1.函数重载的要求

  1. 方法名必须相同
  2. 参数列表必须不同(参数的个数不同/参数的类型不同/类型的次序必须不同)
  3. 与返回值类型是否相同无关,两个方法如果仅仅只是因为返回值类型不同,是不能构成重载的
public class Text {
    public static void main(String[] args) {
        add(1, 2); // 调用add(int, int)
        add(1.5, 2.5); // 调用add(double, double)
        add(1.5, 2.5, 3.5); // 调用add(double, double, double)
    }
    
    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. 递归出口
    (通常子问题解决,原问题也迎刃而解)

调用栈

方法调用的时候, 会有一个 “栈” 这样的内存空间描述当前的调用关系. 称为调用栈.

每一次的方法调用就称为一个 “栈帧”, 每个栈帧中包含了这次调用的参数是哪些, 返回到哪里继续执行等信息.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值