一、數組的定義和通路
1、初始化
- 動态new int[10];--預設值
- 靜态new int[]{1,2,3};,省略為{1,2,3};
2、通路
長度arr.length屬性(數組的屬性)
列印數組名,得到的是記憶體位址哈希值
二、數組原理記憶體圖
1、概述:程式需要在記憶體中 運作,結束後清空記憶體,故JVM需要對記憶體進行空間的配置設定和管理
2、記憶體劃分
- 堆記憶體:new的對象
- 方法區:存放位元組碼檔案
- 方法棧:調用的方法在棧中執行
- 寄存器:供CPU使用
- 本地方法棧:JVM使用作業系統時使用
三、數組的常見操作
1、常見異常及解決
- 數組越界:ArrayIndexOutOfBoundsException
- 空指針異常:NullPointerException,直接等于了null,需要進行new動态初始化
2、數組周遊
3、擷取最大值
4、數組反轉※
方法:定義前後雙指針,滿足條件時交換
四、數組作為方法參數和傳回值
1、作為方法的參數
- 傳遞的是位址
- 方法的三要素:方法名、傳回值、參數清單
2、作為方法的傳回值
方法有多個傳回值時,可以通過數組進行傳回
3、方法參數類型的差別
- 基本類型:傳遞的是資料值
- 引用類型:傳遞的是位址(數組是new出來的對象,new出來的一般都是是引用類型)