特征
(1)數組元素的類型是唯一的,一個數組只能存儲一種數據類型的數據。
(2)數組的長度是固定的,一旦數組初始化完成,數組所占有的內存空間將被固定。數組長度不可以改變。
(3)數組元素的類型既可以是基本類型 也是存儲引用類型。
聲明
數據類型[] 數組變量名(推薦寫法)
數據類型 數組變量名 []
Java是面向對象的語言,數據類型[]可以看成是一個整體類型,即數組類型,第二種是C 語言數組的聲明方式。
int[] intArr;
String[] stringArr;
初始化
數組初始化的過程就是為數組的元素分配內存空間,并且為每個元素賦初始值
**(1)動態初始化 **
動態初始化使用new運算符分配指定長度的內存空間,只指定長度,由系統給出初始化值,注意必須指定數組的長度值
new 數據類型[數組長度]
eg
int[] intArr = new int[2];
intArr[0] = 1;
intArr[1] = 2;
String[] stringArr = new String[3];
stringArr[0] = "Hello world";
stringArr[1] = "Hello Java";
stringArr[2] = "Hello Python";
(2)靜態初始化
類型[] 數組名稱 = new 類型[]{元素,元素,....}
類型[] 數組名 = {元素,元素,....}
給出初始化值,不需要指定數組的長度,根據初始值的個數決定長度.
int[] arr = new int[]{1,2,3,4,5};
int[] arr = {1,2,3,4,5};
數組的初始化具體示例用法
public class Main {
public static void main(String[] args){
int [] arr = new int[10];// 聲明數組
for(int i =0;i<arr.length;i++){
arr[i]=i;
}
int []numbers = new int[]{100,90,80};
for(int i =0;i<numbers.length;i++){
System.out.println(numbers[i]);
}
for(int num :numbers){
System.out.println(num);
}
}
}
ArrayIndexOutOfBoundsException
每個數組的索引都有一個范圍,即0——length-1,在訪問數組的元素,不能超過數組范圍,否則引起ArrayIndexOutOfBoundsException
public static void main(String[] args) {
int [] arr ={1,2,3,4};
System.out.println(arr[4]);
}
NullPointerException
空指針異常,使用變量引用一個數組的時候,必須執行一個有效的數組對象,如果該變量值為null,則意味沒有指向任何數組,此時通過變量名稱訪問數組元素會出現空指針異常
public static void main(String[] args) {
int [] arr ={1,2,3,4};
System.out.println(arr[0]);
arr = null;
System.out.println(arr[0]);
}