上篇的內容不知道小夥伴們學習的怎樣,我這裏出幾個問題幫助下你們鞏固一下,你們看看能不能直接回答出來。java
做用:數組可用於存儲同一類型的多個數據,是一個Java的數據容器程序員
特色:數組長度固定,存儲數據類型一致數組
// 格式一(經常使用):數據類型[] 數組名稱
int[] arr;
String[] arr;
Object[] arr;
// 格式二(該寫法由C轉Java的程序員使用的比較多):數據類型 數組名稱[]
int arr[];
String arr[];
Object arr[];
什麼是數組初始化?ide
java中變量使用前必須完成初始化,數組也同樣,須要完成初始化才能使用。學習
數組初始化就是爲數組分配內存空間,併爲數組中每一個元素賦值。spa
數組的初始化分爲動態初始化和靜態初始化。指針
什麼是動態初始化?code
動態初始化的格式是?orm
// 數組類型[] 數組名稱 = new 數組類型[數組長度];
int[] arr = new int[3]; // 定義一個長度爲 3 的 int 類型數組
格式說明:blog
數組變量存儲的是什麼?
什麼是索引?
數組索引:數組元素的編號,從0開始,最大值爲數組長度-1。
能夠經過索引操做數組元素。
數組元素訪問的格式?
// 數組名稱[索引值]
int[] arr = new int[3];
//輸出數組名,獲得一個地址值
System.out.println(arr); //[I@880ec60
//輸出數組中的元素,默認值0
System.out.println(arr[0]); // 首個元素對應索引值爲 0
System.out.println(arr[1]);
System.out.println(arr[2]);
什麼是靜態初始化?
數組靜態初始化的格式
// 數據類型[] 數組名 = new 數據類型[]{元素1, 元素2, 元素3...}
int[] arr = new int[]{1,2,3};
// 簡化格式:數據類型[] 數組名 = {元素1, 元素2, 元素3...}
int[] arr = {1,2,3};
數組的動態初始化和靜態初始化的區別:
int[] arr = new int[3];
int[] arr = new int[]{1,2,3};
int[] arr = {1,2,3};
數組索引越界異常:ArrayIndexOutOfBoundsException
產生緣由:訪問到了數組中不存在的索引。
如何避免:在索引範圍內訪問數組元素。
int[] arr = {10,20,30};
// 下面代碼會運行報錯,由於arr索引範圍爲0~2,-1和3都不在範圍內
System.out.println(arr[-1]);
System.out.println(arr[3]);
空指針異常:NullPointerException
產生緣由:數組地址爲null,此時操做數組元素就會報空指針異常。
注意:一旦出現空指針異常,要在代碼中進行修改或進行非空判斷,避免空指針異常產生。
// 這種緣由大可能是因爲方法返回值爲 null 致使
int[] arr = method();
System.out.println(arr[0]);
如何獲取數組長度?
如何遍歷數組?
int[] arr = {10,20,30};
// 普通for循環
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
// 加強 for
for (int i : arr) {
System.out.println(i);
}
// stream 流
Arrays.stream(arr).forEach(System.out::println);
今天講解的是數組的概述與基本使用,後面咱們還會講解到集合,這二者在項目中的使用頻率仍是很高的,小夥伴們必定要學好哦!