【五. Java方法详解:从入门到精通】

5 java 方法

5.1 方法的定义

  • 介绍:方法是 Java 程序中最小的执行单元,就像一个 “功能盒子”,把实现某个功能的代码封装起来,需要时直接调用,避免重复写代码

  • 方法的两个关键步骤:

    • 定义方法(创建盒子):先写好方法的代码,告诉计算机这个方法要做什么

      注意:必须先定义才能调用,否则程序会报错

    • 调用方法(使用盒子):定义好后,需要手动调用方法,它才会执行里面的代码

5.2 方法的格式

5.2.1 无参数无返回值方法

  • 格式:
      public static void 方法名() {
          // 方法体(具体功能代码)
      }
  • 例子:打印 “Hello Method”
      public static void sayHello() {
          System.out.println("Hello Method!");
      }
  • 调用:直接写方法名
      sayHello(); // 输出:Hello Method!

5.2.2 带参数方法

  • 格式:
      public static void 方法名(数据类型 参数1, 数据类型 参数2) {
          // 方法体(用参数实现功能)
      }
  • 例子:计算两数之和并打印
      public static void sum(int a, int b) {
          int result = a + b;
          System.out.println("和为:" + result);
      }
  • 调用:传入对应类型和数量的参数
      sum(5, 3); // 输出:和为:8

5.2.3 带返回值方法

  • 格式:
      public static 数据类型 方法名(参数) {
          // 方法体
          return 结果; // 结果类型必须与方法声明的返回值类型一致
      }
  • 例子:计算两数较大值并返回
      public static int getMax(int a, int b) {
          return a > b ? a : b; // 三元运算符简化代码
      }
  • 调用:用变量接收返回值或直接使用
      int max = getMax(10, 20); // max = 20
      System.out.println(getMax(5, 3)); // 直接输出:5

5.2.4 参数的秘密:形参与实参

  • 形参:方法定义中的参数(如int a),相当于占位符

  • 实参:调用方法时传入的具体值(如5或变量num

  • 要求:实参的类型和数量必须与形参匹配,否则报错

5.3 方法的重载

5.3.1 什么是方法重载?

  • 介绍:在同一个类中,允许存在多个方法名相同但参数不同的方法

  • 判断标准:

    • 方法名必须相同

    • 参数类型或数量不同(与返回值无关)

5.3.2 为什么需要重载?

  • 原因:避免为类似功能起多个不同的方法名,提高代码可读性

  • 例子:计算不同类型数据的和

      // 整数相加
      public static int sum(int a, int b) {
          return a + b;
      }
      // 双精度浮点数相加
      public static double sum(double a, double b) {
          return a + b;
      }
      // 三个整数相加
      public static int sum(int a, int b, int c) {
          return a + b + c;
      }
  • 调用:根据传入参数自动匹配对应方法
      sum(1, 2); // 调用2个int参数的sum(),返回3
      sum(1.5, 2.5); // 调用2个double参数的sum(),返回4.0
      sum(1, 2, 3); // 调用3个int参数的sum(),返回6

5.3.3 注意!这些情况不算重载

  • 参数类型和数量都相同,仅返回值不同
      public static int sum(int a, int b) { ... } // 错误!与下方方法冲突
      public static double sum(int a, int b) { ... } // 编译报错,参数相同!
  • 方法在不同类中:重载必须在同一个类中

5.4 方法的内存

  • main()方法调用sum()为例:

    • JVM 启动,先加载main()方法到内存 “栈” 中,开始执行

    • 遇到方法调用sum(5, 3)

      • 在栈中为sum()开辟空间,传入实参53(赋值给形参ab

      • 执行sum()中的代码,计算结果8

      • sum()执行完毕,从栈中销毁,结果返回给调用处(这里没有变量接收,结果直接消失)

    • 继续执行main()后续代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值