Java学习笔记二
一实践:(接昨天的)
e.g:e.g3:java用
递归的方法打印Fibonacci数列 输出 10
(斐波拉西数列的递归公式如下:
当n=1时,Fin(n)=1
当n=2时,Fin(n)=1
当n>2时,Fin(n)=Fib(n-1)+ Fib(n-2)
)
Try2:
public static int fibonacci(int n){
if(n==1||n==2){
//System.out.print("1 ");
return 1;
}else{
return fibonacci(n-2)+fibonacci(n-1);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
//int n=1;
System.out.println(fibonacci(10));
}
}
未输出序列
Try2:
public static int fibonacci(int n){
if(n==1||n==2){
//System.out.print("1 ");
return 1;
}else{
return Fibonacci(n-2)+ fibonacci(n-1);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int m=10;
for(int i=1;i<=m;i++){
System.out.println(fibonacci(i));
}
}
运用for
循环多次调用,增加调用次数
Try3:
public static int fibonacci(int n){
if(n==1||n==2){ //在判断时应两个=
//System.out.print("1 ");
return 1;
}else{
int temp = fibonacci(n-2)+fibonacci(n-1);
System.out.print(temp+" ");
return temp;
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
//int n=1;
fibonacci(10);
}
}
在方法内部调用,调用一次,输出寻列
二:
1. 变量
int shor long double float
2. 定义数组
int[] a;
long[] b;
double[] c;
short[] d;
float[] c;
int[] a={1,2,3,4};
long[] b={1,2,3,4};
double[] c={1,2,3,4};
short[] d={1,2,3,4};
float[] c={1,2,3,4};
3. 分支
If else;if elseif elseif elseif; while ; do while
4. 加强for循环
e.g:普通for循环
public static void main(String[] args) {
int[] array={1,2,3,4};
for(int i=0;i<array.length;i++){
System.out.println(array[i]);
}
}
e.g:加强for循环
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] array={1,2,3,4};
for(int a:array){
System.out.println(a);
}
}
效率比普通的更高