方法的修饰符:暂时都使用public static 修饰。(目前看做是固定写法,后面是 可以改动的)
2 方法申明了具体的返回值类型,内部必须使用return返回对应类型的数据。
3 形参列表可以有多个,甚至可以没有; 如果有多个形参,多个形参必须用“,” 隔开,且不能给初始化值。
形参和实参
修饰符(Modifier)是一种关键字,用于修饰类、方法、变量等各种程序元 素的声明。Java中常用的修饰符包括以下几种:
① 访问修饰符:用于控制程序元素的访问权限,包括public、protected、 private和默认(不写任何修饰符)四种。
② 非访问修饰符:用于控制程序元素的行为,包括static、final、abstract、 synchronized、volatile等。
③ 其他修饰符:包括transient、native、strictfp等。 在Java中,一个程序元素可以同时拥有多个修饰符,它们的顺序可以任意排 列。例如,一个方法可以同时使用public、static、final、synchronized等多个 修饰符来限定它的访问权限、行为和线程安全性。
1.什么是方法?
答:方法是一种语法结构,它可以把一段代码封装成一个功能,以便重复调用
2.方法的完整格式是什么样的?
//格式如下:
修饰符 返回值类型 方法名( 形参列表 )
{ 方法体代码(需要执行的功能代码)
return 返回值; }
3.方法要执行必须怎么办?
必须调用才执行;
//调用格式: 方法名(...);
4.使用方法有什么好处?
答:提高代码的复用性,提高开发效率,使程序逻辑更清晰。
方法在计算机中的执行原理
假设在main方法中依次调用A方法、B方法、C方法,在内存中的执行流程如下:
每次调用方法,方法都会从栈顶压栈执行没执行
每个方法执行完后,会从栈顶弹栈出去
1.方法的运行区域在哪里?
答:栈内存。
2.栈有什么特点?方法为什么要在栈中运行自己?
答:先进后出。保证一个方法调用完另一个方法后,可以回来继续执行。
方法参数的传递机制
Java的参数传递机制都是:值传递,传递的是 实参存储的值的副本。
实际上也是值传递,只不过参数传递 存储的地址值。
.基本类型和引用类型的参数在传递的时候有什么不同?
= 都是值传递 - 基本类型的参数传递存储的数据值。
- 引用类型的参数传递存储的地址值。
可变长度参数
使用可变长度参数时,需要在参数类型之后加上三个连续的点(...),表示这是一个 可变长度参数。在方法内部,可变长度参数会被当作一个数组处理,开发者可以像操 作数组一样操作这个参数。需要注意的是,每个方法只能有一个可变长度参数,而且必须 是最后一个参数
public class Test05 {
public static void main(String[] args) {
System.out.println(sum(1, 2, 3, 4, 5));
System.out.println(sum(1, 2, 3, 4, 5, 6, 7, 8, 9));
}
public static int sum(int... nums) {
int result = 0;
for (int num : nums) {
result += num;
}
return result;
}
}
方法重载
参数列表不同的情况
长度不一样
类型不一样
public class MethodOverLoadDemo1 {
public static void main(String[] args) {
// 目标:认识方法重载,并掌握其应用场景。
test();
test(100);
}
public static void test(){
System.out.println("===test1===");
}
public static void test(int a){
System.out.println("===test2===" + a);
}
void test(double a){
}
void test(double a, int b){
}
void test(int b, double a){
}
int test(int a, int b){
return a + b;
}
}