java基础学习总结——基础语法2
一、语句
1.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语句后,这个方法的执行就结束了,方法可以有返回值,但可以不用这个返回值。方法首先要定义,然后才能调用。
1 public class TestMethod{
2 public static void main(String args[]){
3 m();
4 m1(3);
5 m2(2,3);
6 int i = m3(4,5);
7 System.out.println(i);
8 }
9 //以下定义的都是静态方法,静态方法可以在main()方法里面直接调用
10 public static void m(){
11 System.out.println("Hello!");
12 System.out.println("孤傲苍狼");
13 }
14
15 public static void m1(int i){
16 if(i==5){
17 return;
18 }
19 System.out.println(i);
20 }
21
22 public static void m2(int i,int j){
23 System.out.println(i+j);
24 }
25
26 public static int m3(int i,int j){
27 return i+j;
28 }
29 }
三、变量的作用域
变量的作用域只在“{ }”有效,出了这个“{ }”就没有作用了
四、递归调用
递归:在一个方法内部对自身的调用就称为递归
整个方法执行在内存中执行的过程如下图所示:
范例:使用递归计算第5个斐波那契数列数
1 /*计算第5个斐波那契数列数*/
2 /*
3 斐波那契数列特点:f(1)=1,f(2)=1,f(3)=f(1)+f(2),f(4)=(f2)+(f3)……依次类推。
4 即后一个数都是等于前两个数的和,这样的数列就是斐波那契数列。
5 */
6 /*
7 使用递归调用的方法计算
8 */
9 public class Fab{
10 public static void main(String args[]){
11 System.out.println(f(5));
12 }
13
14 public static int f(int n){
15 if(n==1||n==2){
16 return 1;
17 }else{
18 return f(n-1)+f(n-2);
19 }
20 }
21 }
整个在内存中执行过程如下图所示
五、程序的执行过程