從零開始當工程師 -1 簡單了解資料結構(型態)

這篇文章的對象是給對工程師毫無概念的學生或是有興趣的人,故會盡量少用任何專有名詞

以下均以C#為例,但大多數程式語言在基本型別類共通性相當高,故不太影響,都是可以做為參考的

布林

  • bool 布林值

構成程式判斷的一切基本,僅有兩個值 (true 跟 false)

常常聽人說電腦就是由 1 跟 0 組成,說的就是布林值( 0 ➜ false、 1 ➜ true )

文字類

  • char 字元
  • string 文字

範例,例如 “apple” 即為一個string文字,但要取其中一個’a’的時候即為char

表示時,char 要用單引號、string則要用雙引號將文字包起來

數字類

整數類別

  • Int 整數(Integer的縮寫)
  • Long 長整數(Int64)

整數其實又區分為Int8、Int16、Int32、Int64,分別代表了這個資料型別佔據的空間

更多空間自然代表了該數更高的上下限值

浮點數類別

  • float 單精度浮點數
  • double 雙精度浮點數
  • decimal

浮點數? 那是什麼??

簡單來說,可以把他當成可存儲至小數點的數值就好,而上面這幾種類別則是依照精確度來排序

精確度 : float<double<decimal

佔空間 : float>double>decimal

筆者就曾經在計算金額的程式用到double而不是更高精確度的decimal,結果簡直是慘不忍睹…

陣列類

  • [ ] 需定義型別的固定長度陣列
  • Array [ ]的父類(可以想像為比[ ]上層的存在即可)
  • List 需定義型別的不定長度陣列
  • ArrayList 不特定型別的不定長度陣列

平常大家在使用的多為基礎型別 [ ]陣列及List

因Array及ArrayList均使用Object來儲存資料,操作上容易造成轉型的成本(取出資料比較…等),導致效能耗損

什麼是Object (可以想像為所有內建參考類型的老老老祖宗)

範例如下 :

int[] arr= new int[2] ;              //建立一個長度為2的Int 陣列
List<int>list= new List<int>();      //list則不需事先定義長度

查找資料類

  • Dictionary 字典

Dictionary 顧名思義,是一種透過 Key 來查找 Value的結構

Key具有唯一性 ,跟資料庫的Primary key(主鍵) 具備類似的特質

C#中是這樣表示的 Dictionary<X, Y> dict = new Dictionary<X, Y>();

其中的 X 即為 Key的型態 , Y 則是對應的 Value的型態,兩種型態不需相同

下面來看個簡單的例子 :

Dictionary<int, string> dict = new Dictionary<string, int>();   //建立一個字典 ,Key是整數int型態、而Value 則是字串string型態

dict.Add(1,"zyra");    //新增一個Key為 1 、Value 為 "zyra"的資料
dict.Add(2,"story");

dict[1]  //查找Dictionary 的方式,用Key為1去查詢 ➜ 會得到一個字串 "zyra"

常見且基本的資料型別就先講到這裡了,之後會再持續更新新手教學~

九層之臺,起於累土; 千里之行,始於足下

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *