第一章之陣列
阿新 • • 發佈:2019-01-14
2019-01-14
內容:陣列
一、一維陣列
陣列的宣告:變數型別[] 陣列名; / 變數型別 陣列名[];
陣列的初始化: *靜態初始化:陣列名 = new 變數型別[]{ , , ,……}; / 陣列名 = { , , ,……};
*動態初始化:陣列名 = new 資料型別[陣列長度]
陣列名[i] = 變數值;
陣列的呼叫:陣列名[要引用的下標]
陣列的遍歷:for (int i = 0; i < 陣列名.length; i++){
}
補充:成員變數VS區域性變數
相同點:*都是變數,宣告方法相同
*都有作用域
不同點:*在程式中宣告的位置不同:成員變數在類的裡面方法的外面,而區域性變數在形參或者方法裡面
*成員變數有四種修飾符,而區域性變數沒有修飾符
*初始化不同:成員變數可以不顯式地賦值,它會有預設的初始化值,而區域性變數在初始化時必須進行顯式賦值。
變數型別 預設初始化值
boolean false
byte,short,int,long 0
float,double 0.0
char 空格
引用型別 null
*在記憶體中存放的位置不同:成員變數存放在堆空間中,而區域性變數存放在棧空間中
二、二維陣列
陣列的宣告:變數型別[][] 陣列名; / 變數型別[] 陣列名[];
陣列的初始化:*靜態初始化:陣列名 = new 變數型別[][]{ , , ,……}; / 陣列名 = { , , ,……};
*動態初始化:陣列名 = new 變數型別[陣列的長度][];
陣列名[存放陣列的第幾個記憶體塊的下標] = {}; /
陣列名[存放陣列的第幾個記憶體塊的下標] = new 變數型別[]{}; /
陣列名[存放陣列的第幾個記憶體塊的下標] = new 變數型別[此記憶體塊的大小];
陣列名[存放陣列的第幾個記憶體塊的下標][此記憶體塊的第幾個元素] = 變數值
陣列的呼叫:陣列名[陣列的第幾個記憶體塊的下標][此記憶體塊的第幾個元素]
陣列的遍歷:for (int i = 0; i < 陣列名.length; i++){
for (int j = 0; j < 陣列名[i].length; i++){
}
}
三、陣列中常見的異常
@陣列下標越界異常:*java.lang.ArrayIndexOutOfBoundsException
*出現原因:下標超過了陣列下標的範圍
@空指標異常:*NullPointerException
*出現原因:處於堆空間的陣列記憶體沒有棧空間的變數來引用
四、JAVA中提供的排序
在Arrays工具類的Arrays.Sort(arr);方法可以實現從小到大的排序。
陣列的宣告:變數型別[] 陣列名; / 變數型別 陣列名[];
陣列的初始化: *靜態初始化:陣列名 = new 變數型別[]{ , , ,……}; / 陣列名 = { , , ,……};
*動態初始化:陣列名 = new 資料型別[陣列長度]
陣列名[i] = 變數值;
陣列的呼叫:陣列名[要引用的下標]
陣列的遍歷:for (int i = 0; i < 陣列名.length; i++){
}
補充:成員變數VS區域性變數
相同點:*都是變數,宣告方法相同
*都有作用域
不同點:*在程式中宣告的位置不同:成員變數在類的裡面方法的外面,而區域性變數在形參或者方法裡面
*成員變數有四種修飾符,而區域性變數沒有修飾符
*初始化不同:成員變數可以不顯式地賦值,它會有預設的初始化值,而區域性變數在初始化時必須進行顯式賦值。
變數型別 預設初始化值
boolean false
byte,short,int,long 0
float,double 0.0
char 空格
引用型別 null
*在記憶體中存放的位置不同:成員變數存放在堆空間中,而區域性變數存放在棧空間中
二、二維陣列
陣列的宣告:變數型別[][] 陣列名; / 變數型別[] 陣列名[];
陣列的初始化:*靜態初始化:陣列名 = new 變數型別[][]{ , , ,……}; / 陣列名 = { , , ,……};
*動態初始化:陣列名 = new 變數型別[陣列的長度][];
陣列名[存放陣列的第幾個記憶體塊的下標] = {}; /
陣列名[存放陣列的第幾個記憶體塊的下標] = new 變數型別[]{}; /
陣列名[存放陣列的第幾個記憶體塊的下標] = new 變數型別[此記憶體塊的大小];
陣列名[存放陣列的第幾個記憶體塊的下標][此記憶體塊的第幾個元素] = 變數值
陣列的呼叫:陣列名[陣列的第幾個記憶體塊的下標][此記憶體塊的第幾個元素]
陣列的遍歷:for (int i = 0; i < 陣列名.length; i++){
for (int j = 0; j < 陣列名[i].length; i++){
}
}
三、陣列中常見的異常
@陣列下標越界異常:*java.lang.ArrayIndexOutOfBoundsException
*出現原因:下標超過了陣列下標的範圍
@空指標異常:*NullPointerException
*出現原因:處於堆空間的陣列記憶體沒有棧空間的變數來引用
四、JAVA中提供的排序
在Arrays工具類的Arrays.Sort(arr);方法可以實現從小到大的排序。