陣列是同一種資料型別的集合,是乙個長度固定的持有資料型別。陣列也是引用型別(包括類,介面和陣列)中的一種,陣列內的每乙個資料稱為乙個元素,值為陣列的變數叫做引用。
陣列能夠將資料進行分組,進行分類後整理有利於資料的操作。
陣列的使用必須要進行宣告和初始化。
陣列內只能同時存放一種資料型別的陣列;
ø 可以是基本資料型別(byte,short, int, long, float, double, char, boolean)
ø 也可以是引用資料型別 (string等)
陣列是乙個物件,成員是陣列內的成員元素和陣列的長度等陣列的屬性;
宣告陣列變數,並不是建立了乙個陣列物件,而是建立了乙個指標一樣的資料引用。使用new建立陣列例項,才會開始分配記憶體空間,才是建立了乙個陣列物件。陣列物件本身儲存在堆中,而陣列的引用(堆中的記憶體位址)則儲存在棧中。
陣列記憶體分配過程
宣告陣列的形式:
注意:陣列宣告的時候,不能夠設定長度。所以int arr[1]; 和 int[2] arr;都是非法的。
之所以這樣設定初始化宣告是因為前面宣告的變數並不是陣列例項,而是例項的乙個引用位址。關於陣列的長度及其元素的個數是由後方的陣列例項決定的.
一維陣列的初始化方式有三種:
方式一:
元素型別 陣列名 = new 元素型別[元素個數(即陣列的長度)];
e.g. int arr = new int[5];
這種方式下,會為陣列內的每個元素賦予其資料型別的預設值:
arr: (0x123):值如下方式二:
元素型別 陣列名 = new 元素型別;方式三:(是對方式二的簡化)e.g. int arr = new int;
元素型別 陣列名 = ;
e.g. int arr = ;對於陣列中的三個「空」的理解:
1) stringa; //未初始化, 僅僅宣告了變數,未建立例項,未分配記憶體
2) string a = 「」;or string a = new string; //建立了例項,並分配了記憶體,其值 為「」;
3) string a = null; //已初始化,當未指向任何物件,故引用時會報空指標異常
public static void printarray(inta)
return max;
}
//求最小值
public static int min(inta),,…. };
e.g. int arr = ,,};// 指定陣列內陣列的具體元素值
public static void printaarry(int arr)
}return max;
}
//求最小值
public static int min(int arr)
for(inti=0;i<=length-1;i++){
arr[i][0]= 1;
arr[i][i]= 1;
if(i>=2){
for(intj=1; j
陣列的運用
int main printf p n a printf p n a 1 printf d n sizeof a a中a表示整型陣列的首元素位址,a表示首元素,整型陣列,乙個元素佔4個位元組。printf p n a printf p n a 1 printf d n sizeof a a表示整個陣...
陣列的運用
1.在js中陣列的定義方式有兩種 var a 1,2,3,4 var b new array 1,2,3,4 當兩個陣列中只有乙個值的時候是有區別的 var a 4 此陣列只有乙個元素,為 4 var b new arr 4 此陣列有4個元素 2.通過命令對陣列的長度進行修改 例如 var a 1,...
反射的基礎運用
1.獲取class物件的三種方法 1 public class demoreflect catch classnotfoundexception e 15 16 2.獲取class物件的資訊 1 public class getclassinfo 11 3.獲得類物件的構造方法並用構造方法獲得例項物...