1、基本概念:
一、數字爲引用數據類型
二、數組其實是一個容器,能夠同時容納多個元素
三、數組可存儲基本數據類型,也能夠存儲引用數據類型的數據
四、數組一旦建立、長度不可變、且數組中元素類型必須統一
五、數組能夠經過Length獲取長度
六、數組中每一個元素都有下標,0開始,以1遞增,最後一個元素下標:Length-1
七、數組優勢:查詢某個下標的元素時候效率較高
八、數組缺點:數組增刪元素效率比較低,沒法存儲大數據量
2、數組語法:
一、數組類型,以及動態初始化時默認值
int[] array1 --0
double[]array --0.0
boolean[]array3 --false
String[]array4 --null
Object[]array5 --null(引用類型)
short[]array6 --0
long[]array7 --0.0L
float[]array8 --0.0F
char[]array9 --\u000
二、初始化
靜態初始化:
int[]array1=new int[]{100,200,300};
動態初始化:默認值0
int[]array1=new int[5];
三、(反向)遍歷一維數組
3、方法的參數爲數組
一、參考示例
二、再說main方法,傳遞參數
Idea-run-editconfig-設置傳遞參數
4、數組存儲爲引用數據類型(結合多態實現)
package cnblogs;
public class TestAdvance09array4 {
public static void main(String[] args) {
Cat a1=new Cat();
Bird a2=new Bird();
Animal[] animals={a1,a2};
for(int i=0;i<animals.length;i++){
//調用公有的方法
animals[i].move();
//特有方法須要向下轉型
if( animals[i] instanceof Cat) {
Cat cat=(Cat)animals[i];
cat.catchMouse();
}
else if( animals[i] instanceof Bird){
Bird bird=(Bird)animals[i];
bird.sing();
}
}
}
}
class Animal{
public void move(){
System.out.println("Animal move...");
}
}
class Cat extends Animal{
public void move() {
System.out.println("貓在走貓步...");
}
public void catchMouse(){
System.out.println("貓捉老鼠...");
}
}
class Bird extends Animal{
public void move() {
System.out.println("鳥在飛翔...");
}
public void sing(){
System.out.println("鳥在唱歌...");
}
}
查詢運行結果:
5、數組擴容(效率較低,因涉及到全量的拷貝)
一、arraycopy()方法,4個參數:
(1)源數組(2)起始下標(3)目標數組(4)起始下標(5)長度
二、示例代碼
6、二維數組
一、二維數組的遍歷
二、二維數組的入參傳遞