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. 引用傳遞
數組作為引用數據類型,也可以發生引用傳遞。
https://www.cnblogs.com/2020javamianshiti/p/javashuzudingyi.html
引用傳遞空間:同一塊堆內存空間可以被不同的棧內存所指向。
范例: 多個棧內存指向相同的堆內存。
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]); } }
注意: 在數組定義時直接設置內容,根據值的個數確定長度,且長度不可修改。