初識遞歸算法與static靜態變量


遞歸算法:

     問題一:用遞歸算法寫出斐波那契數列。

                         

                                  

              

        問題二:寫出n!的算法。

           

                        

 

    對比兩種方法,遞歸方法思路清晰,算法簡單明了。

 

     遞歸是一種容易寫且容易想的算法,適合處理與本身有聯系的函數。

static: 是 main函數的一種修飾符

             靜態修飾符:標識成員可以被類直接調用
  static: 五種
        1:靜態成員變量
        2:靜態成員方法
        3:靜態代碼塊
        4:靜態內部類 X
        5:靜態導包     
  static:可以被類名直接調用  類名.屬性名
                                              類名.方法名                              
  static與非static之間的重要區別:
             區別1:
              static修飾的成員是隨着類的加載而加載(優先)
              非static成員是隨着對象的創建而加載
             區別2:
              靜態方法|靜態代碼塊只能調用靜態成員,非靜態成員是不能直接調用的,創建對象(不能使用this關鍵字)
              非靜態方法可以直接調用非靜態成員,也可以調用靜態成員.類的對象進行調用靜態成員
             區別3:
              靜態成員對於多個對象而言是共享的
              非靜態成員對於多個對象是彼此獨立的

 1 public class StaticTest {
 2     
 3    String name;
 4    static int number=10; //靜態成員變量
 5    
 6    public static void main(String[] args) {
 7        Person p=new Person();
 8        Person p1=new Person();
 9        p.setName("張三");
10        p.setAge(16);
11        System.out.println("我叫:"+p.getName()+",今年:"+p.getAge());
12        System.out.println("我叫:"+p1.getName()+",今年:"+p1.getAge());
13        
14        doSome();
15        
16        System.out.printf("HelloWorld");
17        
18        System.out.println(Person.add(1,2,3,4,5,6));;
19        
20        System.out.println(Person.c(5));
21        System.out.println(Person.c(5));
22    }
23    
24    public static void sayHello(String name){ //靜態函數
25        System.out.println(name+",您好!");
26    }
27    
28    static{ //靜態代碼塊 最優先的
29       System.out.println("這是靜態代碼塊。。。。");  
30    }
31 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM