(七)方法
一、方法的定义和调用
1.1 方法
- 方法用于定义可重用的代码及组织和简化代码
- 在其他某些语言中,方法称为 过程 或者 函数
1.2 方法的定义
① 方法由修饰符、返回值类型、方法名、参数列表和方法体组成。
modifier returnValueType methodName(formalParams){
methodPart
}
② 举例
public static int max(int num1, int num2){
int result;
if(num1 > num2){
result = num1;
} else {
result = num2;
}
return result;
}
③ 注意
static
是静态修饰符,一般都是用这个;定义在方法头中的参数称为 形参,但调用方法时给方法传递的的参数称为 实参
当方法有返回值时,称为 带返回值方法;当没有返回值则称为 void 方法,此时
returnVulueType
为void
1.3 方法的调用
① 方法的调用是指执行方法中的代码。
② 调用方法
当方法有返回值,就把方法当作一个值调用;
- 有返回值的方法的调用也可以当作语句调用
- 对于带返回值的方法而言,
return
语句是必需的。
当方法没有返回值,必须使用语句来调用方法。
③ 开始时,程序控制权掌握在main
方法手里;main
调用了方法后,程序控制权转移到被调用的方法,(若有参数,则将实参传递给方法)执行完方法体的代码后控制权又还给了 main
方法
④ main
方法是由 Java虚拟机调用的。main
方法头固定,修饰符是 public
, static
, 返回值类型是 void
,方法名是 main
,形参 String[] args
表示参数是一个 String
型数组。
⑤ 每次调用一个方法,系统会开辟一段内存区域——调用堆栈 ,来保存方法中的参数和变量。可以用堆栈的思想来理解方法的调用过程。
1.4 关于 void
方法
void
方法不需要return
语句,但它能用于流程控制,用于结束方法if (score <= 0) { return; }
1.5 按值传递
① 按值传递是指按照实参的值传递给形参。
② 实参与形参在次序和数量上要相匹配,类型要兼容。(类型兼容是指可以进行隐式转换,例如int可以传给double)
③ 当实参是一个变量的时候,按值传参后不改变这个变量(实参)。
④ 形参在方法内部拥有自己的内存空间,在调用时分配。
二、模块化代码和方法的重载
2.1 模块化代码
模块化代码是指将不同功能的代码分入不同方法。
模块化使得代码易于维护、调试和复用。
2.2 方法的重载
Java允许使用同一个方法名定义不同方法,但参数的类型和数量不同,称为方法的重载。当需要调用哪一个就使用对应参数调用,Java方法总是寻求最精确匹配的方法。
三、局部变量
局部变量的作用域从声明的地方到包含该方法的块结束。可以再非嵌套块中声明同名局部变量,但不可以在嵌套块中。