目錄
- 數組的概念
- 數組的創建
- 數組的引用
- 數組的創建
- 數組元素的初始化
- 數組的使用
- 使用數組
- 數組的複製
- 多維數組
- 數組的概念
數組由同一類型的對象或者基本數據組成,並封裝在同一一個標識符(數組名稱)下。
數組是對象
動態初始化
可以賦值給Object類型的變量
在數組中可以調用類Object的所有方法
二每個數組都有一 個由public final修飾的成員變量: length,即數組含有元素的個數( length可以是正數或零)
數組元素
數組中的變量被稱作數組的元素
元素沒有名字,通過數組名字和非負整數下標值引用數組元素
數組的創建
數組的引用
聲明數組時無需指明數組元素的個數,也不為數組元素分配內存空間
不能直接使用,必須經過初始化分配內存後才能使用
數組聲明舉例:
括號在數組名前:Type[] arrayName;
<code>int
[]
intArray
;String
[]
stringArray
;/<code>
括號在數組名後:Type arrayName[];
<code>int
intArray
[]
;String
stringArray
[]
;/<code>
數組的創建
用關鍵字new構成數組的創建表達式,可以指定數組的類型和數組元素的個數。元素個數可以是常量也可以是變量。
基本類型數組的每個元素都是一個基本類型的變量;引用類型數組的每個元素都是對象的的引用。
數組的創建舉例:
直接創建
<code>int
[] a; a =new
int
[10
]; String[] s; s =new
String[3
]/<code>
可以將數組的聲明和創建一併執行
<code>int
a[]=new
int
[1
o];/<code>
可以在一條聲明語句中創建多個數組
<code>String
[] s1=new
String
[3
], s2=new
String
[8
];/<code>
數組元素的初始化
聲明數組名時,給出了數組的初始值,程序便會利用數組初始值創建數組並對它的各個元素進行初始化
<code>int
a[]={22,
33
,
44
,
55
};
/<code>
創建數組的時,如果沒有指定初始值,數組便被賦予默認值初始值。
基本類型數值數據 ,默認的初始值為0 ;
boolean類型數據,默認值為false;
引用類型元素的默認值為null。
數組的使用
使用數組
引用數組的一個元素:arrayName[index]
數組下標必須是int,short, byte,或者char。
下標從零開始計數。
<code>元素的個數即為數組的長度,可以通過arrayName.length得到。 元素下標最大值為length-1
,如果超過最大值,將會產生數組越界異常( ArrayIndexOutOfBoundsException ) 數組名是一個引用,以以下代碼為例:public
class
Arrays
{public
static
void
main
(String []args
) {int
[] a1 = {1
,2
,3
,4
,5
};int
[] a2 = a1;for
(int
i=0
; ifor(int
i=0
; iout.println("a1["
+ i +"] = "
+ a1[i]); } } /<code>
運行結果:
當運行int [] a2 = a1; 這一步時,並不是複製一個數組給a2,只是把引用a1賦值給引用a2。實際上a1,a2操作的是同一個數組。
數組的複製
使用方法System.arraycopy(src, srcPos, dest, destPos, length);
其中src為被複制數組,srcPos為被複制數組起始下標,dest為複製數組,destPos為複製數組下標,length為想要複製的長度。
以下代碼用於複製copyFrom從下標2開始的長度為7的數組。
<code>public
class
ArraysCopy
{public
static
void
main
(String []args
) {char
[] copyFrom = {'a'
,'b'
,'c'
,'d'
,'e'
,'f'
,'g'
,'h'
,'i'
,'j'
,'k'
};char
[] copyTo =new
char
[7
]; System.arraycopy(copyFrom,2
, copyTo,0
,7
); System.out
.println(new
String(copyTo)); } } /<code>
運行結果:
多維數組
類似一維數組,以二維數組為例:
聲明
定義引用
<code>int
[]
[]
a
;/<code>
定義引用+構造數組
<code>int[][] a = new int[3
][3
];/<code>
定義引用,構造數組,初始化數組元素。
<code>int
[][] a ={{1
,2
,3
},{4
,5
,6
},{7
,8
,9
}}; /<code>
二維數組的長度及每行的長度
二維數組的長度為行數
二維數組每一行的長度為每一行的列數
<code>public
class
Arrays
{public
static
void
main
(String []args
) {int
[][] Array = {{1
,2
,3
}, {1
,2
}, {8
,9
,10
,20
,50
}}; System.out
.println("Length of array is "
+ Array.length);for
(int
i=0
; i<3
; i++) System.out
.println("Length of row["
+ i +"] = "
+ Array[i].length); } } /<code>
運行結果: