標籤:
一.數組的基本概念
- 數組可以看成是多個相同類型資料群組合,對這些資料的統一管理。
- 陣列變數屬參考型別,數組也可以看成是對象,數組中的每個元素相當於該對象的成員變數。
- 數組的元素可以是任何資料類型,包括基本類型和參考型別。
- C和C++中的數組都可以分配在棧上面,而JAVA中的數組是只能分配在堆上面的,因為JAVA中的數組是參考型別。
二.一維數組
一維數組的聲明方式有2種:
- 格式一:數組元素類型 數組名[ ]; 即type var[ ];
- 格式二:數組元素類型[ ] 數組名; 即type[ ] var;
- 格式二聲明數組的方法與C#上聲明一維數組的方法一樣。
例如:int a1[ ]; int[ ] a2;
double b[ ];
person[ ] p1; String s1[ ];
注意:JAVA語言中聲明數組時不能指定其長度(數組中的元素個數)
如:int a[5]; 這樣聲明一維數組是非法的。
三.數組的模型
- 一維數組:一維數組就是一行,一行小格。
- 二維數組:二維數組就是一行加一列組成的一個平面分成的小格,有行有列。
- 三維數組:三維數組就是一個立方體。
- 人類對最多認識到三維空間。
四.數組對象的建立
JAVA中使用關鍵字new建立數組對象。
格式為:數組名 = new 數組元素的類型[數組元素的個數]
例如:
五.元素為引用資料類型的數組
注意:元素為引用資料類型的數組中的每一個元素都需要執行個體化。
例如:
class Date{
int year; int moth; int day;
Date(int y; int m, int d){
year=y ;
month=m ;
day=d ;
}
}
六.數組的初始化
數組定義與為數組元素分配空間和賦值的操作分開進行。
例如:
public class Test{ public static void main(String args[ ]){ int a[ ]; //定義數組,即聲明一個int類型的數組a[ ] a=new int[3]; //給數組元素分配記憶體空間。 a[0]=3; a[1]=9; a[2]=8; //給數組元素賦值。 Date days[ ]; days=new Date[3]; days[0]=new Date(1, 4, 2004); days[1]=new Date(2, 4, 2004); days[2]=new Date(3, 4, 2004); } }class Date{ int year, month, day; Date(int y, int m, int d){ year = y ; month = m ; day = d ; }}
在定義數組的同時就為數組元素分配空間並賦值。
例如:
puclic class Test{ public static void main(String args[ ]){ int a[ ] = { 3, 9, 8}; //在定義數組的同時給數組分配空間並賦值。 Date days[ ] = { new Date(1, 4, 2004), new Date(2 ,4 ,2004), new Date(3 ,4, 2004) }; }}class Date{ int year, month, day; Date(int y, int m, int d){ year = y ; month = m ; day = d ; }}七.數組元素的預設初始化
- 數組是參考型別,它的元素相當於類的成員變數,因此給數組分配記憶體空間後,每個元素也被按照成員變數的規則被隱式初始化。
public class Test{ public static void main(String args[ ]){ int a[ ] = new int[5]; Date[ ] days=new Date[3]; System.out.println(a[3]); System.out.println(days[2]); }}class Date{ int year, month, day; Date(int y, int m, int d){ year = y ; month = m ; day = d ; }}
System.out.println(a[3]); 列印出來的結果是:0。
System.out.println(days[2]); 列印出來的結果是:null(空)
八.數組元素的引用
定義並用運算子new為之分配記憶體空間後,才可以引用數組中的每個元素,數組元素的引用方式為:arrayName[index],index為數組元素下標,可以是整型常量或整型運算式。如:a[3], b[i], c[6*i]。
數組元素下標從0開始;長度為n的數組的合法下標取值範圍為0 ~ n—1。
每個數組都有一個屬性length指明它的長度,例如:a.length的值為數組a的長度(元素個數)。
九.二維數組
十、理解JAVA中的各個維度數組模型
java基礎學習總結——數組