Java基礎4--陣列
阿新 • • 發佈:2020-12-13
1 陣列
1.1 什麼是陣列?
陣列就是儲存資料長度固定的容器,儲存多個數據的資料型別要一致。
格式一
資料型別[] 陣列
int[] arr;
double[] arr;
char[] arr;
格式二
資料型別 陣列名[]
int arr[];
double arr[];
char arr[];
1.2 陣列初始化
1.2.1 動態初始化
陣列動態初始化就是隻給定陣列的長度,由系統給出預設初始化值
資料型別[] 陣列名 = new 資料型別[陣列長度];
int[] arr = new int[3];
-
等號左邊:
-
int:陣列的資料型別
-
[]:代表這是一個數組
-
arr:代表陣列的名稱
-
-
等號右邊:
-
new:為陣列開闢記憶體空間
-
int:陣列的資料型別
-
[]:代表這是一個數組
-
5:代表陣列的長度
-
1.2.2 靜態初始化
-
完整版格式
資料型別[] 陣列名 = new 資料型別[]{元素1,元素2,...};
-
簡化版格式
資料型別[] 陣列名 = {元素1,元素2,...};
程式碼示例:
public class ArrayDemo { public static void main(String[] args) { //定義陣列 int[] arr = {1, 2, 3}; //輸出陣列名 System.out.println(arr); //輸出陣列中的元素 System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]); } }
1.2 陣列訪問
1.2.1 索引介紹
每一個儲存到陣列的元素,都會自動的擁有一個編號,從0開始。
這個自動編號稱為陣列索引(index),可以通過陣列的索引訪問到陣列中的元素。
獲取指定下標值:
陣列名[索引];
1.2.2 程式碼示例
public class ArrayDemo { public static void main(String[] args) { int[] arr = new int[3]; //輸出陣列名 System.out.println(arr); //[I@880ec60 //輸出陣列中的元素 System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]); } }
1.2.3 常見異常
-
索引越界異常
ArrayIndexOutOfBoundsException
陣列長度為3,獲取下標5的值 -
空指標異常
NullPointerException``` int[] arr = new int[3]; //把null賦值給陣列 arr = null; ```
arr = null 這行程式碼,意味著變數arr將不會在儲存陣列的記憶體地址,也就不允許再運算元組了,因此執行的時候會丟擲
2 記憶體分配
2.1 什麼是記憶體?
記憶體是計算機中的重要原件,臨時儲存區域,作用是執行程式。
我們編寫的程式是存放在硬碟中的,在硬碟中的程式是不會執行的。
必須放進記憶體中才能執行,執行完畢後會清空記憶體。
Java虛擬機器要執行程式,必須要對記憶體進行空間的分配和管理。
2.2 記憶體分配
區域名稱 | 作用 |
---|---|
暫存器 | 給CPU使用,和我們開發無關。 |
本地方法棧 | JVM在使用作業系統功能的時候使用,和我們開發無關。 |
方法區 | 儲存可以執行的class檔案。 |
堆記憶體 | 儲存物件或者陣列,new來建立的,都儲存在堆記憶體。 |
方法棧 | 方法執行時使用的記憶體,比如main方法執行,進入方法棧中執行。 |