052_陣列_陣列基本概念
一、陣列的概念介紹
陣列:陣列是相同型別資料的有序集合. 陣列描述的是相同型別的若干個資料,按照一定的先後次序排列組合而成。其中,每一個數據稱作一個數組元素,每個陣列元素可以通過一個下標來訪問它們.
二、陣列的四個基本特點:
1.其長度是確定的。陣列一旦被建立,它的大小就是不可以改變的。
2.其元素必須是相同型別,不允許出現混合型別。
3.陣列中的元素可以是任何資料型別,包括基本型別和引用型別。
4.陣列變數屬引用型別,陣列也可以看成是物件,陣列中的每個元素相當於該物件的成員變數。陣列本身就是物件,Java中物件是在堆中的,因此陣列無論儲存原始型別還是其他物件型別,陣列物件本身是在堆中的。
三、陣列的建立和初始化
1.宣告的時候並沒有例項化任何物件,只有在例項化陣列物件時,JVM才分配空間,這時才與長度有關。因此,宣告陣列時不能指定其長度(陣列中元素的個數),例如: int a[5]; //非法
2.宣告一個數組的時候並沒有陣列被真正的建立。
3.構造一個數組,必須指定長度。
宣告(一維陣列的宣告方式有兩種)
1.type[] arr_name;(推薦使用這中方式)
2.type arr_name[];
初始化
1. 靜態初始化
除了用new關鍵字來產生陣列以外,還可以直接在定義陣列的同時就為陣列元素分配空間並賦值。
int[] a = {1,2,3};
Man[] mans = {
new Man(1,1),
new Man(2,2)
};
2.動態初始化
陣列定義與為陣列元素分配空間並賦值的操作分開進行。
int[] a = new int[2];
a[0]=1;
a[1]=2;
四、演示示例
package edu.aeon.test; /** * [說明]:測試一維陣列的建立及初始化 * * @author aeon * */ public class TestArray { public static void main(String[] args) { int[] s = null; // 1 s = new int[10]; // 2 for (int i = 0; i < 10; i++) { s[i] = 2 * i + 1; System.out.println(s[i]); }// 3 } }
結果截圖:
該示例在記憶體中的記憶體結構圖為:
建立引用型別一維陣列示例:
1 2 3 4 5 6 7 8 9 |
class
Man{
private
int
age;
private
int
id;
public
Man(
int
id,
int
age) {
super
();
this
.age = age;
this
.id = id;
}
}
|
1 2 3 4 |
public
class
AppMain {
public
static
void
main(String[] args) {
Man[] mans;
mans =
new
Man[
10
];
//1
|
1 2 3 4 5 6 |
Man m1 =
new
Man(
1
,
11
);
Man m2 =
new
Man(
2
,
22
);
//2
mans[
0
]=m1;
mans[
1
]=m2;
//3
}
}
|