初识递归算法与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 }

猜你喜欢

转载自www.cnblogs.com/fengyl/p/10945631.html