一、方法格式
修饰符: 目前阶段使用public static后面学完权限修饰符和static等修饰符后可灵活使用
修饰符 返回值类型 方法名(参数类型1 参数名1,参数类型2 参数名2,....){
方法体;
return 返回值;
}
二、return的作用
- 返回方法的返回值
- 结束方法(reutrn执行后整个方法执行结束)
没有返回值的方法中能不能写return?
可以用来结束方法。但是return的后面不能跟数据
三、方法调用内存图
方法调用完成就会出栈
四、方法重载
定义:在同一个类中,方法名相同,参数列表不同的方法才叫方法重载(与返回值无关)
参数列表不同:1. 参数类型不同 2.参数个数不同 3.参数顺序不同
public class Demo{
public int test(int a,int b){}
public void test(int a,int b){}//错
public void test(int a,int b,int c){}
public void test(int x,int y){}//错
public void test(int a,double b){}
public void test(double a,int b){}
public void test(double a,double b){}
}
五、思考
形参:方法定义时写的参数
实参:方法调用时实际传入的参数
- 如果方法的参数是基本数据类型,形参的改变不会影响实参。
- 如果方法的参数是引用数据类型,形参的改变会影响实参。
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("a="+a);
System.out.println("b="+b);
change(a,b);
System.out.println("方法调用后a="+a);
System.out.println("方法调用后b="+b);
}
public static void change(int a,int b){
int temp = a;//int temp = 10;
a = b;//a = 20;
b = temp;// b = 10;
}
输出:
a=10
b=20
方法调用后a=10
方法调用后b=20
public static void main(String[] args) {
int[] arr = {1,2};
System.out.println("arr[0]="+arr[0]);
System.out.println("arr[1]="+arr[1]);
change(arr);
System.out.println("方法调用后arr[0]="+arr[0]);
System.out.println("方法调用后arr[1]="+arr[1]);
}
public static void change(int[] arr){
int temp = arr[0];
arr[0] = arr[1];
arr[1] = temp;
}
输出:
arr[0]=1
arr[1]=2
方法调用后arr[0]=2
方法调用后arr[1]=1
public static void main(String[] args) {
int[] arr = {1,2};
System.out.println("arr[0]="+arr[0]);
System.out.println("arr[1]="+arr[1]);
change(arr);
System.out.println("方法调用后arr[0]="+arr[0]);
System.out.println("方法调用后arr[1]="+arr[1]);
}
public static void change(int[] arr){
arr = new int[2];
arr[0] = 2;
arr[1] = 1;
}
输出:
arr[0]=1
arr[1]=2
方法调用后arr[0]=1
方法调用后arr[1]=2