陣列的宣告、建立、記憶體處理
一、陣列的宣告
宣告後在棧裡為變數建立相應的空間棧:
1.存放基本變數型別(包含這個基本變數的具體數值)
2.引用物件的變數(存放其引用在堆裡的具體位址)
int
array1;
//推薦使用
int array2;
//與第一種效果相同,但是不推薦
二、陣列的建立建立後在堆裡為其建立相應的空間堆:
1.存放new的物件和陣列
2.可以被所有的執行緒共享,不會存放別的物件引用
//建立,接上
array1 =
newint[10
];//同時宣告建立
int[
] array2=
newint[10
];
三、.靜態初始化注意:靜態初始化時不能指定陣列的長度
//建立+賦值
int[
] array1 =
;int
array2=
newint
;//兩種都可。
man[
] mans=
;//靜態初始化引用型別陣列,man()為另乙個類的名稱
四、動態初始化//先建立,再賦值;包含預設初始化(數值型別預設0 0.0;字串型別預設null;布林型別預設false)
int[
] array2 =
newint[10
];//宣告長度
array2[0]
=1;//建立
array2[1]
=2;array2[2]
=3;
小結:陣列的遍歷1.陣列的長度是確定的,一旦被建立了就不可以改變
2.元素必須是相同型別,不允許出現混合型別
3.元素可以是任何資料型別,包括基本資料型別和引用型別
4.陣列是存放在堆中的
1.for-each語句
for(資料型別 i:arrays)i:代表自定義乙個名字來表示陣列裡的乙個元素
arrays:代表要遍歷的那個陣列的名字
這個語句是將該陣列arrays裡的每乙個元素都賦值給i,然後將每個i都列印出來。
缺點:不能直接用下標呼叫某個元素。
int
array1=
newint
;for
(int array:array1)
;for
(int i=
0;i,}
;int
array2=,,
};int[
] array3=
newint[3
][2]
;//第乙個括號代表外層陣列元素的個數,第二個代表內層陣列元素的個數,相當於給這個二維陣列指定了長度,長三個陣列,每個陣列裡允許巢狀兩個元素。
array3[0]
[0]=
1;array3[0]
[1]=
2;array3[1]
[0]=
3;array3[1]
[1]=
4;array3[2]
[0]=
5;array3[2]
[1]=
6;
java 宣告和動態建立陣列
昨天在寫 時候需要動態建立一組,竟然一時想不起來,該如何建立,查了一些資料,記錄下來,提醒自己要注重基礎。int data new int 3 這樣就建立了初值為零的有3個元素的陣列,這裡的3也可以動態指定它的值。對於整形,來看看初始化的形式 int myintarray new int 3 int...
二維陣列宣告 遍歷和容器
1.陣列 儲存多個資料 2.陣列特點 2.二維陣列 陣列中巢狀陣列 陣列中包含陣列 3.二維陣列的定義 宣告方式 資料型別 陣列名 資料型別 陣列名 資料型別 陣列名 int num int num1 int num3 4.初始化 賦值 動態初始化 建立陣列物件的時候不賦值,後續賦值 靜態初始化 建...
C 的宣告和定義與記憶體
以前在上學的時候,沒有仔細的看過這個點,一直認為宣告 定義差不多,也沒有深入的思考。這次重新鞏固的時候,我發現本身這三個點在不同的型別的情況下表現的差別很大。先把最終的結果寫上 區域性變數 宣告和定義在呼叫的時候同時進行記憶體分配。全域性變數 宣告的時候不分配記憶體,定義的時候分配記憶體 注意,此處...