JavaSE之方法的使用的总结

目录

一、方法的基本用法

1.什么是方法

2.方法的定义

3.方法的调用

4.方法调用的执行过程

5.实参和形参的关系

 二、方法的重载

三、方法的递归


一、方法的基本用法

1.什么是方法

方法就是一个代码片段 . 类似于 C 语言中的 " 函数”。
其存在的意义:
(1) 是能够模块化的组织代码 ( 当代码规模比较复杂的时候)
(2)做到代码被重复使用 , 一份代码可以在多个位置使用
(3)让代码更好理解更简单
(4)直接调用现有方法开发 , 不必重复造轮子

2.方法的定义

public static 方法返回值 方法名称([参数类型 形参 ...]){
     方法体代码;
     [return 返回值];
}

注意:

(1)方法定义时, 参数可以没有. 每个参数要指定类型 

(2)方法定义时, 返回值也可以没有, 如果没有返回值, 则返回值类型应写成 void

(3)方法定义时的参数称为 "形参", 方法调用时的参数称为 "实参"

(4)方法的定义必须在类之中, 代码书写在调用位置的上方或者下方均可

(5)Java 中没有 "函数声明" 这样的概念

3.方法的调用

返回值变量 = 方法名称(实参...);

4.方法调用的执行过程

(1)定义方法的时候, 不会执行方法的代码. 只有调用的时候才会执行

(2)当方法被调用的时候, 会将实参赋值给形参

(3)参数传递完毕后, 就会执行到方法体代码

(4)当方法执行完毕之后(遇到 return 语句), 就执行完毕, 回到方法调用位置继续往下执行

(5)一个方法可以被多次调用

5.实参和形参的关系

Java中只有传值调用,没有传址调用。在传值调用中,对于基础类型来说, 形参相当于实参的拷贝。

交换两个正整数:

public class Test {
     public static void main(String[] args) {
        int a = 10;
        int b = 20;

        swap(a, b);
        System.out.println("a = " + a + " b = " + b);
     }
     public static void swap(int x, int y) {
         int tmp = x;
         x = y;
         y = tmp;
     }
}

编译并运行该代码,输出如下:

a = 10 b = 20

可以发现a,b的值并没有交换,这是因为我们只交换了形参的值,出了函数后,形参被销毁,而主函数中的值没有发生任何变化。我们可以传引用类型的参数(数组),这个修改方法会在日后的笔记总结到

 二、方法的重载

1.有些时候我们需要用一个函数同时兼容多种参数的情况 , 我们就可以使用到方法重载。同一个方法名字 , 提供不同版本的实现 , 称为 方法重载
2.重载的规则:
(1) 方法名相同
(2)方法的参数不同 ( 参数个数或者参数类型)
(3)方法的返回值类型不影响重载(当两个方法的名字相同 , 参数也相同 , 但是返回值不同的时候 , 不构成重载)
(4)不一定需要在同一个类中,继承关系也可以
public class Test{    
    public static double add(double a, double b){
        return a + b;
    }
    /*public static double add(int a, int b){
        return (double)a + b;
    }*///这样也是错的,重载关键在于参数类型不同   返回值一样与否与重载没有关系
    public static int add(int a, int b){
        return a + b;
    }
    public static void main4(String[] args) {
        double d1 = 10.1;
        double d2 = 20.1;
        System.out.println(add(d1,d2));
        int a = 1;
        int b = 2;
        System.out.println(add(a,b));
    }
}

三、方法的递归

一个方法在执行过程中调用自身, 就称为 "递归"。
注意:递归一定要有一个趋于终止的条件,否则,会无限递归下去。递归的关键在于找到一条递推公式。
Java的方法递归和C语言的函数递归十分相似,因此,这里的关于递归的知识可以在我的“C语言之函数总结”博客处看到。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值