一、數組的基本概念
-
數組:就是若干個相同數據類型的元素按照一定順序排列的集合。
特點:
a.數組是相同數據類型元素的集合。
b.數組中的個元素是有先後順序的,它們按照這個先後順序連續存放在一起的。
c.數組元素用整個數組的名字和它自己在數組中的順序位置來表示,例如demo[0]表示名字爲demo的數組中的第一個元素。
二、一維數組
-
一維數組說明:最簡單的數組。
-
一維數組定義:
定義格式:數據類型[] 數組名;//聲明一維數組 數組名 = new 數據類型[個數] ;//給一維數組分配內存
數據類型既可以是基本數據類型也可以是引用類型。
與C/C++語言不同,Java語言在數組的定義中,並不爲數組元素分配內存。但是必須分配內存之後纔可以使用。int[] demo;//定義了一個名爲demo的整型數組 demo = new int[10];//demo數組中包含了10個整型數據元素,並且爲這是個數據元素分配空間。
其實,Java語言的數組聲明也可以寫成:
數據類型[] 數組名 = new 數據類型[個數];
例如:
int[] demo = new int[10];
其中,Java數組的定義,在等號左邊的int[] demo相當於定義了一個特殊變量demo,其中demo的數據類型是一個對int型數組對象的引用,demo就是一個數組的引用變量,其引用的數組元素個數補丁,但是等號右邊,new int[10]就是在堆上創建一個具有10個int類型變量的數組變量。
其中,用戶也可以改變demo的值,讓他指向另外一個數組對象的,或者不指向任何數組對象,即將常量
null
賦值給demo即可。但是,如果我現在讓int[] demo = new int[10];
指向null
,即int[] demo = null
,那麼在堆上的那10個int類型變量數組對象就會成爲一個無法引用的垃圾,此時只能等到垃圾回收器來進行釋放。數組在使用new運算符分配內存空間的額時候,數組中的每一個元素都會賦一個默認值,整數爲0,浮點數爲0.0,
boolean
型爲false
,引用型爲null
。 -
一維數組元素的訪問
數組元素的訪問方法:數組名[下標]; -
一維數組的初始化
初始化格式:數據類型[] 數組名 = {初值0,初值1,...,初值n}
雖然這裏數組定義沒有定義格式,但是由於花括號中初值有n個,所以數組長度也會定爲n個。
-
foreach
語句與數組
自從JDK5開始引進一種新的for循環,它不需要用下標即可遍歷整個數組,他就是----foreach
語句。
foreach
語句只需要提供三個數據:元素類型,循環變量名字,用於從中檢索元素的數組。
語法:for(type element:array){ //循環體 }
該功能就是每次從數組array中取出一個元素,自動複製給
element
變量,其中element
的類型必須與數組array元素的類型相同。
例如:int[] demo = {1,2,3,4,5}; for(int i:demo){ System.out.println(i); }
三、多維數組
-
二維數組
二維數組與一位數組類似。數據類型[][] 數組名; 數組名 = new 數據類型[行數][列數];
或者
數據類型[][] 數組名 = new 數據類型[行數][列數];
或者
數據類型[] 數組名; 數組名 = new 數據類型[行數][]; 數組名[0] = new int[列數];
-
三維以上的多維數組
使用多維數組,其與二維數組類似,且數組維數越高,其複雜度也就越高。