java基础(3)——基础语法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!");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个斐波那契数列数

 
 /*计算第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);
          }
     }
 }

  整个在内存中执行过程如下图所示

  

五、程序的执行过程

  

一、语句

  

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 }
复制代码

  整个在内存中执行过程如下图所示

  

五、程序的执行过程

  

猜你喜欢

转载自www.cnblogs.com/jkqiang/p/9553518.html