new 陣列_Java陣列
1.陣列的概念
概念:陣列可以理解成在計算機中的多個連續的儲存空間,裡面可以按順序存放多個
型別相同的資料。
(形參和實參太長,使用不方便,可讀性太差,可以定義一個變數容器,存放多個數據)
1) 陣列名 : 陣列的名字
2) 陣列元素 :就是存放在數組裡面的資料
3) 陣列索引 :就是數組裡面連續儲存空間的編號,從0開始
4) length :陣列的屬性長度 陣列名.length拿到陣列的長度
2.陣列的基本語法及使用
陣列的使用:陣列連續儲存空間
獲得陣列的基本語法:
資料型別[] 陣列名 = new 資料型別[長度];
比如:int[] arr = new int[10];
獲得陣列的其他語法補充
1. 動態建立之先聲明後賦值
資料型別 [] 陣列變數名;
陣列變數名 = new 資料型別[陣列長度];
2. 靜態建立之複雜寫法
1) 推薦寫法:
a. 宣告的同時賦值
資料型別 [] 陣列變數名 = new 資料型別[] {多個以英文逗號分隔的資料};
b. 先聲明後賦值
資料型別 [] 陣列變數名;
陣列變數名 = new 資料型別[] {多個以英文逗號分隔的資料};
2) 不推薦寫法
a. 宣告的同時賦值
資料型別 陣列變數名 [] = new 資料型別[] {多個以英文逗號分隔的資料};
b. 先聲明後賦值
資料型別 陣列變數名 [];
陣列變數名 = new 資料型別[] {多個以英文逗號分隔的資料};
3. 靜態建立簡寫方式
1) 宣告的同時賦值
資料型別[] 陣列變數名 = {多個以英文逗號分隔的資料};//接下來學習中最常用
2) 先聲明後賦值[編譯器不允許,錯誤寫法]
資料型別[] 陣列變數名;
陣列變數名 = {多個以英文逗號分隔的資料};
對於計算機記憶體儲存空間的使用最重要的就是存值取值
1. 存值
(1) 陣列名[索引位置] = 值;
2. 取值
(1) 陣列名[索引位置]
(2) 陣列遍歷
3.認識陣列的本質
陣列也是一個[資料型別]的本質分析
示例1.一個方法:求兩個整數的和:一個方法傳入,多個數據,用的陣列、
方法的形式參應該是
資料型別 形式引數名
int[] a = new int[5];
int[] 本身就是一個數據型別
4.JVM堆疊圖【引用】
1. 堆:可以理解為凡是new 出來的東西都放在這裡面,堆記憶體可以被虛擬機器動態的分配記憶體大小,無需事先告訴編譯器的資料的大小、生命週期等相關資訊
2. 棧:主要存放一些變數容器名 (例如區域性變數名,還可以存放區域性變數 基本型別 資料值),棧記憶體被要求存放在其中的資料的大小、生命週期必須是已經確定的
3. 圖例
陣列引用資料型別,一個數字名,持有一個數字的地址值。
5.陣列的特點
1) 一個數組的資料型別,限定了陣列儲存空間,可以儲存資料的型別
2) 一個數組可以儲存多個元素
3) 一旦陣列物件被建立好,那麼其長度就固定不變了
4) 動態建立好陣列之後,會自動分配預設值,和陣列中的元素型別有關(類似之前成員變數的預設值)
6.陣列的常見問題
1.陣列越界【索引,多了或者少了,不在一個數組的索引範圍】
2.空指標異常
3.如果有返回值,不知道return寫在哪裡
7.陣列的遍歷
通俗一點就是打印出數組裡面所有的值
public static void main(String[] args){
int[] arr = {4,23,42,34,23,42,34,42,34,23,4,23,423,4,23,423,42,34};
for(int i = 0;i<=arr.length-1;i++){
System.out.println(arr[i]);
}