1. 程式人生 > >Java連載31-遞迴方法練習、面向物件

Java連載31-遞迴方法練習、面向物件

一、實現階乘(一種用遞迴,一種普通方法)

 

public static void main(String[] args) {

    System.out.println(factorial(5));

    System.out.println(factorial_recursion(5));

  }

  //普通迴圈結構實現階乘

  public static int factorial(int n) {

    int i = 1;

    int result = 1;

    for(;i<=n;i++) {

      result *= i;

    }

    return result;

  }

  //遞迴方法實現階乘

  public static int factorial_recursion(int n) {

    if (n == 1) return 1;

    else return (n * factorial_recursion(n-1));

  };

 

二、面向物件(Java語言核心內容)

1.面向過程和麵向物件的區別

(1)面向過程:主要關注點是:實現的具體過程,因果關係

優點:對於業務邏輯比較簡單的程式,可以達到快速開發,前期投入成本低

缺點:採用面向物件的方式開發很難解決非常複雜的業務邏輯,另外面向過程的凡是導致最終的軟體擴充套件能力差,另外,沒有獨立體的概念,所以無法達到元件複用。

(2)面向物件:主要關注點是:物件(獨立體)能完成哪些功能。(獨立顯示卡的開發思路)

優點:耦合度低,擴充套件能力強,更容易解決現實世界中複雜的業務邏輯,元件複用性

缺點:前期投入成本較高,需要進行獨立體的抽取,大量的系統分析與設計。

(3)C語言是純面向過程的,C++是半面向物件,Java是純面向物件

(4)面向物件更符合人的思維方式,越來越多的新語言是面向物件。

2.面向物件的三大特性

(1)封裝(2)繼承(3)多型

三、原始碼:

D31_two_method_of_factorial.java

地址:

https://github.com/ruigege66/Java/blob/master/D31_two_method_of_factorial.java

2.CSDN:https://blog.csdn.net/weixin_44630050(心悅君兮君不知-睿)

3.部落格園:https://www.cnblogs.com/ruigege0000/

4.歡迎關注微信公眾號:傅立葉變換,個人公眾號,僅用於學習交流,後臺回覆”禮包“,獲取大資料學習資料

&n