方法
将一堆代码封装成一个具有独立功能的整体就是方法
1. 封装方法的好处
提升了代码的复用性
简化了代码的逻辑,更符合java中面向对象的思想
2. 方法定义格式
public static 返回值类型 方法名(参数列表){方法体}
/*
public static 固定的修饰符 ,公共的,静态的方法
返回值类型 : 数据类型,如果没有返回值,使用void占位;
方法名: 将来调用方法的时候,需要使用这个方法名;
参数列表: 形式参数,方法体中的原材料;
方法体: 一堆代码;(完成具体功能的代码)
*/
3. 形参和实参
形参是形式参数,定义方法的时候用;由数据类型和变量名组成
实参是实际参数,调用方法的时候用;可以直接写常量也可以是一个已经定义好的变量名;
4. 方法的两个明确
- 明确返回值类型
- 明确参数列表
5. 方法的调用
//当方法不带返回值的时候
方法名(实际参数);
//当方法带返回值的时候
返回值类型 变量名=方法名(实际参数);
注意事项
- 方法不能嵌套定义
- 方法的定义不分先后,定义后,不调用不会执行
- 如果方法没有返回值类型,需要使用void关键字,同时方法体中可以省略return
- 如果方法有返回值类型,方法体中必须写retrun 数据值
6. 方法重载
同一个类中,方法名相同,参数列表不同就是方法重载
好处是方便了方法的调用者
public static int Sum(int a,int b){
return a+b;
}
public static double Sum(double a,double b){
return a+b;
}
public static int Sum(int a,int b,int c){
return a+b+c;
}
注意:
方法重载与方法的返回值无关,仅仅与名称和参数列表有关
参数列表不同包括3种情况:
1:类型不同,
2:个数不同;
3:类型不同的情况下,顺序不同;
7. 参数传递
基本数据类型参数传递
特点: 传递的是数据值,对原来方法的变量没有影响
public static void main(String[] args) {
int number=100;
System.out.println(number);//100
Change(100);
System.out.println(number);//100
}
public static void Change(int number){
number=200;
}
引用数据类型参数传递
特点: 传递的是地址值,对原来方法的变量有影响
public static void main(String[] args) {
int[] arr={10,20,30};
System.out.println(arr[1]);//20
Change(arr);
System.out.println(arr[1]);//200
}
public static void Change(int[] arr){
arr[1]=200;
}