陣列(Array)是什麼?它是一個很好用的東西哦!當我們要處理100個學生的成績的時候,如果沒有陣列的話,那麼我們的變數就要命名100個不同的變數,這樣的程式雖然不是不能執行,想一想,是不是有一點要在命名上會想破頭殼呢?因為要想100個不同的變數麻~
你說:「那就變數後面加入編號就好啦~如:Name1、Name2...」但是!!再想想,這樣的程式容易閱讀嗎?而且這樣的命名方式每次都要去做宣告會使程式變得非常冗長喔!!
所以,有陣列這個好幫手幫我們解決了這個問題,將它們集中起來管理。陣列使用方法就是在同一資料型別狀況下使用一個變數名稱只要做一次的宣告,身後帶著「註標(Subscript)」或「索引(index)」的方式來存取這些資料,如:name[0]、name[1]...,這些資料會存在連續記憶體的位址上,這樣的方式既不會要想破頭殼去想變數,也可以讓程式更容易讀,並且還可以縮短程式的長度呢!你們說這樣好不好用呢!(ゝ∀・)
其實陣列不只有像name[0]、name[1] 這樣的一維陣列哦!還有二維陣列、多維陣列,甚至是不規則陣列唷!這樣我們在資料上做處理的時候就會非常的方便呢!
以下我們就用箱子來比喻陣列,假如我們在一個空房間要擺放箱子,那要擺幾個箱子呢?裡面又要裝什麼東西呢?
對於要擺幾個箱子 ➻ 代表陣列的宣告大小(也就是要配置多少個箱子)
Ex:int[] score = new int[5];
//代表一維陣列,資料型態是整數,並且有五個可以使用
在某個箱子裡面裝什麼東西 ➻ 代表陣列在某個索引,它的值或內容
Ex:score[0]=80;
//代表在第0個的值為80
※這邊要注意:
在陣列的索引一開始是由「0」作為起始值哦!
一維陣列就代表一排箱子,二維陣列就代表兩排箱子,以此類推,用圖示來表示的話就會是這個樣子。
大家有沒有發現索引值變成兩個中括號了?第一格代表著第幾排(也就是第幾排),第二格就代表著那一排的第幾個箱子。也就是說score[1][3]指的就是第二排的第4個箱子。
因此,看變數後面有幾個中括號就代表有幾維(有多少排),中括號裡的數字就代表第幾排或是第幾個,要注意的是因為起始值都是[0],所以數數的時候不要數錯了。