Java基础总结记录(二)
一、语句
1. 条件语句
1.1.1 if语句
1.1.2 分支语句(switch语句)
1.2 循环语句
1.2.1 for循环语句
学会画内存分析图分析别人写的程序,这样就很容易分析出规律,分析出规律也就明白了别人的算法,也就很容易读懂别人的程序。
在内存中分析result=1!+2!……+10!的算法
分析到i等于3以后,基本上已经得到规律了,这个程序要计算的就是:result = 1!+2!+3!……+10!。
由此可以看出,懂得画内存去分析程序对读懂别人的程序是大有裨益的。以后读别人的程序的时候,觉得难读懂的时候就画内存分析。
学习别人的算法的最好的途径是分析别人写的程序,分析的过程结合内存分析是最好的做法。
1.2.2 while循环和do while循环
1.2.3 break和continue语句
二、方法
方法执行到return语句后,这个方法的执行就结束了,方法可以有返回值,但可以不用这个返回值。方法首先要定义,然后才能调用。
public class TestMethod{
public static void main(String args[]){
m();
m1(3);
m2(2,3);
int i = m3(4,5);
System.out.println(i);
}
//以下定义的都是静态方法,静态方法可以在main()方法里面直接调用
public static void m(){
System.out.println("Hello!");
System.out.println("西部落酋长");
}
public static void m1(int i){
if(i==5){
return;
}
System.out.println(i);
}
public static void m2(int i,int j){
System.out.println(i+j);
}
public static int m3(int i,int j){
return i+j;
}
}
三、变量的作用域
变量的作用域只在“{ }”有效,出了这个“{ }”就没有作用了
四、递归调用
递归:在一个方法内部对自身的调用就称为递归
整个方法执行在内存中执行的过程如下图所示:
范例:使用递归计算第5个斐波那契数列数
/*计算第5个斐波那契数列数*/
/*
斐波那契数列特点:f(1)=1,f(2)=1,f(3)=f(1)+f(2),f(4)=(f2)+(f3)……依次类推。
即后一个数都是等于前两个数的和,这样的数列就是斐波那契数列。
*/
/*
使用递归调用的方法计算
*/
public class Fab{
public static void main(String args[]){
System.out.println(f(5));
}
public static int f(int n){
if(n==1||n==2){
return 1;
}else{
return f(n-1)+f(n-2);
}
}
}
整个在内存中执行过程如下图所示
五、程序的执行过程