文章目录
?前言一、方法的概念及定义1.1 方法的概念1.2 方法的定义 二、方法的调用执行过程2.1 执行流程:2.2 注意事项:2.3 代码示例 三、实参和形参的关系四、没有返回值的方法?️全篇总结
?前言
方法是Java编程中非常重要的概念,它能够帮助我们组织代码、实现代码的重复使用,并使代码更加清晰易懂。本文将介绍方法的概念、定义以及调用执行过程,同时解释实参和形参之间的关系。通过实例和代码演示,我们将深入探讨方法在Java中的作用和运行机制。
一、方法的概念及定义
1.1 方法的概念
方法就是一个代码片段. 类似于 C 语言中的 “函数”。方法存在的意义(不要背, 重在体会)
是能够模块化的组织代码(当代码规模比较复杂的时候).做到代码被重复使用, 一份代码可以在多个位置使用.让代码更好理解更简单.直接调用现有方法开发, 不必重复造轮子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; }}
注意事项:
修饰符:现阶段直接使用public static 固定搭配
返回值类型:如果方法有返回值,返回值类型必须要与返回的实体类型一致,如果没有返回值,必须写成void
方法名字:采用小驼峰命名
参数列表:如果方法没有参数,()中什么都不写,如果有参数,需指定参数类型,多个参数之间使用逗号隔开
方法体:方法内部要执行的语句
在java当中,方法必须写在类当中
在java当中,方法不能嵌套定义
在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编程中扮演着关键角色。通过实例代码的演示,我们理解了方法如何被调用执行,以及实参和形参之间的交互关系。希望本文能够帮助大家更好地掌握方法的使用。