遞歸算法:
問題一:用遞歸算法寫出斐波那契數列。
問題二:寫出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 }