4.方法的使用

发布于:2025-08-03 ⋅ 阅读:(8) ⋅ 点赞:(0)

方法是指一段具有独立功能的代码块,只有被调用时才会执行

方法的主要作用体现在:

  1. 代码组织:将原本挤在一起的臃肿代码按照功能进行分类管理

    • 例如:将用户注册的验证逻辑、数据库操作、结果返回等分离成不同方法
  2. 提高复用性:相同功能的代码只需编写一次,多处调用

    • 例如:计算两个数最大值的方法可以在程序多个地方复用

方法的定义和调用

public static void 方法名() {
    // 方法体
}

调用方式:方法名();
 

注意:

        1.平级关系:方法之间是并列关系,不允许嵌套定义

            错误示例:

public static void methodA() {
    public static void methodB() { // 不允许在方法内定义方法
        // ...
    }
}
 

        2.调用执行:方法不调用就不会执行

                即使定义了多个方法,如果没有调用它们,这些方法都不会执行

        3.执行顺序:方法的定义顺序与执行顺序无关,执行顺序取决于调用顺序

方法的内存机制

        方法在内存中的生命周期

  1. 未调用时:存放在方法区的字节码文件中
  2. 调用时:进入栈内存运行
  3. 执行完毕:从栈内存中退出

         Java内存结构(部分)     

           方法区:存储加载的字节码(.class)文件

                        字节码文件是源代码编译后的结果,保留了原代码的结构

           栈内存:方法运行时使用的内存区域                 

                        遵循"先进后出"的原则,方法调用形成调用栈

public static void main(String[] args) {
        System.out.println("开始");
        getMax();
        System.out.println("结束");
}

public static void getMax() {
        int num1=10;
        int num2=20;
        int max = num1>num2?num1:num2;
        System.out.println(max);
}

  代码执行流程详解

        

  1. main方法入栈:虚拟机自动调用main方法,main方法进入栈内存
  2. 打印"开始":执行第一条语句,控制台输出"开始"
  3. 调用getMax方法
    • getMax方法进入栈内存
    • 执行getMax方法体:
      • 定义变量num1=10, num2=20
      • 计算最大值并存储在max变量中
      • 打印最大值20到控制台
  4. getMax方法出栈:方法执行完毕,退出栈内存
  5. 继续执行main方法:打印"结束"
  6. main方法出栈:程序执行完成

带参数方法的定义和调用

public static void 方法名(数据类型 变量名) {
    // 方法体
}
// 多个参数:
public static void 方法名(数据类型 变量1, 数据类型 变量2, ...) {
    // 方法体
}


调用方法:方法名(参数值)

  参数类型

  • 形参(形式参数):方法定义时声明的参数  
  • 实参(实际参数):方法调用时传入的具体值

带返回值的定义和调用

public static 返回的数据类型 方法名(数据类型 变量名,……){方法体; return 值}

调用的方式:返回的数据类型  变量名 = 方法名(参数值)

方法通用定义格式

public static 返回值类型 方法名(数据类型 变量名,……){
    方法体;
    return 数据;
}

定义方法时,要做到两个明确:

        明确参数:主要明确参数的类型和数量

        明确返回值类型:主要时明确方法操作完毕后是否有结果数据,如果有,写对应的数据类型,如果没有,写void

方法的常见问题

        1.方法不调用不执行

        2.方法与方法之间是平级关系,不能嵌套定义

        3.方法的编写顺序和执行顺序无关

        4.方法的返回值类型为void,表示该方法没有返回值,没有返回值的方法可以省略return语句不写,如果要写return,后面不能跟具体的数据

        5.return语句下面,不能编写代码,因为永远执行不到,属于无效代码x


网站公告

今日签到

点亮在社区的每一天
去签到