java數組的定義和初始化,java數組定義
1. 定義及初始化
1. 1動態初始化(聲明並開辟數組)
數組類型[] 數組名 = new 數據類型[數組長度];
其中,數據類型可以是8種基本的數據類型,也可以是引用數據類型。
注意:
- 在給數組命名的時候,一般在數組名后加一個 s 表示這是一個包含多個元素的數組(與單個變量區分)。
- 當數組采用動態初始化開辟空間之后,數組之中的每個元素都是該數據類型的默認值。
數據類型 | 默認初始化 |
---|---|
byte、short、int、long | 0 |
foat、double | 0.0 |
char | 一個空字符,即 ‘\u0000’ |
boolean | false |
引用數據類型 | null,表示變量不引用任何對象 |
- 數組名稱.length:取得數組長度(數組長度可以由屬性length獲得)。
- 數組遍歷推薦使用for-each循環(僅限於數組內容讀取),要修改數組內容,還是使用常規for循環:for(int x: 數組名稱) {……}
public class Study02{
public static void main(String[] args){
int[] arrays = new int[5]; //定義並開辟了一個長度為3的數組
// 可以將上面代碼分成兩句來寫
int[] array = null; // 聲明一個長度int[]類型的變量,變量會占用一塊內存空間,它沒有分配初始值。
array = new int[5]; //創建一個長度為5的數組,將數組的地址賦給變量arrays。
for(int i = 0; i < arrays.length; i++)
{
System.out.println("arrays[" + i + "] = " + arrays[i] + " ");
}
arrays[0] = 10; //數組的第一個元素
arrays[1] = 20; //數組的第二個元素
// 數組遍歷
for(int x : array)
{
System.out.println(array[x]);
}
}
}
1.2 靜態初始化
簡化格式:
數據類型[] 數組名稱 = {值, 值, …};
完整格式(推薦):
數據類型[] 數組名稱 = new 數據類型[]{值, 值, …};
注意:
a. 通過數組下標索取來取得元素,下標默認從0開始。數組下標超出數組長度,數組越界異常(運行時異常)。
b. 數組屬於引用數據類型,在使用之前一定要開辟空間(實例化),否則就會產生"NullPoninterException"。
int[] arrays = {1, 2, 3, 4, 5};
int[] arrays = new int[]{1, 2, 3, 4, 5};
2. 引用傳遞
數組作為引用數據類型,也可以發生引用傳遞。
引用傳遞空間:同一塊堆內存空間可以被不同的棧內存所指向。
范例: 多個棧內存指向相同的堆內存。
public class Study02{
public static void main(String[] args){
int[] arr = new null;
int[] temp = null; // 聲明對象
arr = new int[3]; // 開辟一個長度為3的數組
System.out.println(arr.length);
arr[0] = 1; // 數組第一個元素
arr[1] = 2; // 數組第二個元素
arr[2] = 3; // 數組第三個元素
for(int i = 0; i < arr.length; i++)
{
//通過循環控制索引下標更改
System.out.println(arr[i]);
}
temp = arr; // 發生引用傳遞,不能出現[]
temp[0] = 55; // 修改數據
System.out.println(arr[0]);
}
}
注意: 在數組定義時直接設置內容,根據值的個數確定長度,且長度不可修改。