方法的组成
class Demo {
public static void main(String[] args) {
System.out.println("add:" + add(2,3));
int[] i = {2};
int[] j = {3};
swap(i,j);
System.out.println("i =" + i[0]);
System.out.println("j =" + j[0]);
}
// [注解] [修饰符] 返回值类型 [泛型定义] 方法名(参数列表)[throws异常声明] 方法体
//值传递不会改变外面的值
public static int add(int i,int j){
return i+j;
}
//引用传递,会改变外面的值
public static void swap(int[] i,int[] j){
int temp = i[0];
i[0] = j[0];
j[0] = temp;
}
}
递归
斐波那契数列(Fibonacci sequence)
1 1 2 3 5 8 13 21 ·······
递归得到结果
public static void fibonacci(int num){
if(num == 1 || num == 2){
return 1 ;
}else{
return fibonacci(num-2) + fibonacci(num+2);
}
}
for循环实现上边递归的结果
int num1 = 1;
int num2 = 1;
for(int i = 3;i <=7;i++){
int temp = num1 + num2;
num1 = num2;
num2 = temp;
}
**能用循环完成的任务不要用递归
因为死递归会造成方法栈溢出**