Day04總結-數組
能夠使用IDEA中常用的快捷鍵
1.alt + 回車 (導入包,自動修正代碼)
2.ctrl + alt + L (格式化代碼)
3.psvm:生成main方法
4.sout:生成輸出語句
5.數組名.fori: 遍歷數組的快捷鍵
能夠使用動態初始化定義數組
數組的概念:數組是一個容器,用來存儲同種數據類型的多個值
注意:同種數據類型:如果數組的類型是int類型,就不能向數組中添加String字符串了
如果定義的數組類型是double類型,可以向數組中添加double以下的數據.
數據的動態初始化:
數據類型[] 數組名 = new 數據類型[數組的長度];
btye[] bys = new byte[10];
定義了一個byte類型的數組,數組名叫bys,該數組可以存儲10個byte類型的數據.
打印數組名稱:
int[] arr = new int[2];
System.out.println(arr); //[I@478ae987
@:分隔符
[:數組類型,幾個中括號就代表幾維數組
I:該數組中存儲的數據類型,爲int類型
478ae987:十六進制地址值
如果沒有給數組元素賦值,直接取出元素,會取出什麼內容?
默認初始化值:
整數:0
小數:0.0
布爾:false
字符:'\u0000' 空白字符
引用數據類型:null
能夠使用靜態初始化定義數組
完整格式:
數據類型[] 數組名 = new 數據類型[]{元素1, 元素2,元素3...}
int arr = new int[]{11,22,33};
注意: 不允許動靜結合的初始化數組 int [] arr = new int[3]{11,22,33};
簡化格式:
數據類型[] 數組名 = {元素1, 元素2, 元素3};
int[] arr = {11,22,33};
注意:簡化格式,僅僅是簡化了書寫格式,底層一樣存在new關鍵字的.
兩種初始化的區別?
動態初始化:手動指定長度,有系統給出默認初始化值
靜態初始化:手動指定元素,由系統計算出數組的長度
使用選擇:
動態初始化:只確定元素個數,不確定具體數值.
靜態初始化:如果要操作的數據已經非常明確了,就可以直接將數據傳入靜態初始化的大括號中
能夠訪問數組中的元素
如何訪問數組中的元素:
索引(角標,下標): 爲數組中的每一個元素位置,進行了編號,編號從0開始
數組的最大索引:數組名.length - 1
訪問的格式:
數組名[索引]
1.存儲 arr[0] = 11;
2.取出 System.out.println(arr[0]);
注意:
System.out.println(arr);//打印出arr數組的地址值,但char數組除外,會打印char數組所包含的內容
能夠理解數組的內存圖
1.一個數組內存圖,要求自己會畫
2.其餘數組內存圖,能看懂即可.
能夠說出數組索引越界異常的出現原因和解決方式
數組索引越界異常: ArrayIndexOutOfBoundsException
原因:訪問了不存在的索引
解決:訪問存在的索引
能夠說出數組空指針異常的出現原因和解決方式
空指針異常:NullPointerException
原因:當一個引用數據類型的變量,記錄了一個null的時候,還想去訪問堆內存數據,就會產生此異常
int[] arr = {11, 22, 33};
arr = null;
System.out.println(arr[0]);
解決:不要使用null去調用堆內存數據.
能夠獨立完成數組中的元素最大值