1.爲什麼要有數組?
有大量相同類型元素需要處理----數組、集合(List、Set、Map)
2.概念
數組是存儲同一種數據類型多個元素的集合。也可以看成是一個容器
1)既可以存放基本數據類型元素,也可以存放引用數據類型元素
2)數組本身是引用數據類型
3)初始化之後長度不可改變
3.數組的定義
數據類型[] 數組名;
int[] array = new int[5];
數據類型 數組名[];
int array[] = new int[5];
4.數組的初始化
1)靜態初始化---初始化時指定每個數組元素的初始值,由系統決定數組長度
int[] arr = new int[]{1, 2, 3};
int[] arr = {1, 2, 3};
2)動態初始化---初始化時只指定數組長度,由系統爲數組分配初始值
int[] arr = new int[5];
動態初始化,系統爲每個元素指定初始值
基本數據類型
|-byte 0
|-short 0
|-int 0
|-long 0
|-double 0.0
|-float 0.0
|-boolean false
|-char 0
引用數據類型----null //面向對象---面向過程
|-String null
3)數組的長度---數組名.length;
4)訪問數組中的元素
數組名[下標]
下標的範圍 0~數組的長度-1
5.常見問題
ArrayIndexOutOfBoundsException--下標越界異常
NullPointerException--空指針異常
6.數組常見操作
1)遍歷
for (String string : args) {
System.out.println(string);
}
2)求最值
3)逆序
7.數組一旦初始化,長度不可改變
原因:Java的內存控制是由棧和堆構成的,數組的引用類型放在棧中,棧裏裝着數組在堆內的內存地址。(類似C語言中的指針)改變數組長度其實是直接建了一個新的堆。而舊的堆會被Java的內存回收機制給銷燬。