1.方法声明(定义)
[修饰符] 返回值类型 方法([参数列表]){
语句序列;
[return [返回值]];
}
2.方法调用(匹配): 方法名+参数类型列表
参数类型列表先精确匹配,再模糊匹配(如果有歧义即多个方法同级别匹配上,编译错误)
方法调用(匹配)跟返回类型没有关系
3.传参
int x = 5;
change(x); //基本数据类型,数据存放在栈中,,传的是值(栈中数据) ------传参传的是栈中的值
System.out.println("x="+x); //5
int[] a = {1,3,5};
change(a); //引用类型,数据存放在堆中(栈中存放地址),,传的是地址(栈中数据) ------传参传的是栈中的值
//由于传的是栈中的值,因此更改无效
public static void change(int x){
x++;
}
//由于传的是地址(引用),因此更改有效
public static void change(int[] b){
for(int i=0;i<b.length;i++){
b[i] = b[i]+1;
}
}
4.递归的两个要素:
1)鸿沟 (走到什么时候停止)
2)递推 (朝一个方向一直往前走)