【Java探索之旅】方法的概念 定义 执行流程 实参与形参的交互

04-23 1196阅读

【Java探索之旅】方法的概念 定义 执行流程 实参与形参的交互 🎥 屿小夏 : 个人主页 🔥个人专栏 : Java编程秘籍 🌄 莫道桑榆晚,为霞尚满天!

文章目录

  • 📑前言
  • 一、方法的概念及定义
    • 1.1 方法的概念
    • 1.2 方法的定义
    • 二、方法的调用执行过程
      • 2.1 执行流程:
      • 2.2 注意事项:
      • 2.3 代码示例
      • 三、实参和形参的关系
      • 四、没有返回值的方法
      • 🌤️全篇总结

        📑前言

        方法是Java编程中非常重要的概念,它能够帮助我们组织代码、实现代码的重复使用,并使代码更加清晰易懂。本文将介绍方法的概念、定义以及调用执行过程,同时解释实参和形参之间的关系。通过实例和代码演示,我们将深入探讨方法在Java中的作用和运行机制。

        一、方法的概念及定义

        1.1 方法的概念

        方法就是一个代码片段. 类似于 C 语言中的 “函数”。方法存在的意义(不要背, 重在体会)

        1. 是能够模块化的组织代码(当代码规模比较复杂的时候).
        2. 做到代码被重复使用, 一份代码可以在多个位置使用.
        3. 让代码更好理解更简单.
        4. 直接调用现有方法开发, 不必重复造轮子

        1.2 方法的定义

        方法定义的格式:

        // 方法定义
        修饰符 返回值类型 方法名称([参数类型 形参 ...]){
        	方法体代码;
        	[return 返回值];
        }
        

        代码示例:

        • 示例一:实现一个方法,检测一个年份是否为闰年
          public class Method{
          // 方法定义
              public static boolean isLeapYear(int year){
                  if((0 == year % 4 && 0 != year % 100) || 0 == year % 400){
                  	return true;
                  }else{
                  	return false;
                  }
              }
          }
          
          • 示例二: 实现一个两个整数相加的方法
            public class Method{
            // 方法的定义
                public static int add(int x, int y) {
                	return x + y;
                }
            }
            

            注意事项:

            1. 修饰符:现阶段直接使用public static 固定搭配

            2. 返回值类型:如果方法有返回值,返回值类型必须要与返回的实体类型一致,如果没有返回值,必须写成void

            3. 方法名字:采用小驼峰命名

            4. 参数列表:如果方法没有参数,()中什么都不写,如果有参数,需指定参数类型,多个参数之间使用逗号隔开

            5. 方法体:方法内部要执行的语句

            6. 在java当中,方法必须写在类当中

            7. 在java当中,方法不能嵌套定义

            8. 在java当中,没有方法声明一说

            二、方法的调用执行过程

            2.1 执行流程:

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

            2.2 注意事项:

            • 定义方法的时候, 不会执行方法的代码. 只有调用的时候才会执行.
            • 一个方法可以被多次调用

              2.3 代码示例

              • 示例1 计算两个整数相加
                public class Method {
                    public static void main(String[] args) {
                        int a = 10;
                        int b = 20;
                        System.out.println("第一次调用方法之前");
                        int ret = add(a, b);
                        
                        System.out.println("第一次调用方法之后");
                        System.out.println("ret = " + ret);
                        
                        System.out.println("第二次调用方法之前");
                        ret = add(30, 50);
                        
                        System.out.println("第二次调用方法之后");
                        System.out.println("ret = " + ret);
                    }
                    
                    public static int add(int x, int y) {
                        System.out.println("调用方法中 x = " + x + " y = " + y);
                        return x + y;
                    }
                } 
                // 执行结果
                一次调用方法之前
                调用方法中 x = 10 y = 20
                第一次调用方法之后
                ret = 30
                第二次调用方法之前
                调用方法中 x = 30 y = 50
                第二次调用方法之后
                ret = 80
                

                三、实参和形参的关系

                在Java中,实参的值永远都是拷贝到形参中,形参和实参本质是两个实体。相当于是形参只是实参的一份临时拷贝,并且对形参的值进行修改并不会影响实参。

                public static void swap(int x,int y) {
                    int tmp = x;
                    x = y;
                    y = tmp;
                    System.out.println("x = "+x+" y = "+y);
                }
                public static void main(String[] args) {
                    int a = 10;
                    int b = 20;
                    swap(a,b);
                    System.out.println("a = "+a+" b = "+b);
                }
                

                在调用swap方法交换之后,形参x和y的值发生了改变,但是main方法中a和b还是交换之前的值,即没有交换成功

                实参a和b是main方法中的两个变量,其空间在main方法的栈(一块特殊的内存空间)中,而形参x和y是swap方法中的两个变量,x和y的空间在swap方法运行时的栈中,因此:实参a和b 与 形参x和y是两个没有任何关联性的变量,在swap方法调用时,只是将实参a和b中的值拷贝了一份传递给了形参x和y,因此对形参x和y操作不会对实参a和b产生任何影响。

                注意:对于基础类型来说, 形参相当于实参的拷贝. 即 传值调用

                四、没有返回值的方法

                方法的返回值是可选的. 有些时候可以没有的,没有时返回值类型必须写成void

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

                另外, 如上述的交换两个整数的方法, 就是没有返回值的。

                🌤️全篇总结

                本篇我们深入探讨了Java中方法的概念、定义和调用执行过程,以及实参和形参之间的关系。方法作为代码组织和重用的重要工具,在Java编程中扮演着关键角色。通过实例代码的演示,我们理解了方法如何被调用执行,以及实参和形参之间的交互关系。希望本文能够帮助大家更好地掌握方法的使用。

                【Java探索之旅】方法的概念 定义 执行流程 实参与形参的交互

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]