數(shù)組是什么:
數(shù)組是一種數(shù)據(jù)結(jié)構(gòu)绰筛,用來存儲同一數(shù)據(jù)類型的集合。通過一個整型下標(biāo)可以訪問數(shù)組中的每一個值锯蛀。
聲明格式:數(shù)據(jù)類型[] 數(shù)據(jù)變量名稱能颁,例如:int[] a或者int a[]哼绑;
一維數(shù)組:
動態(tài)初始化:
private void invoke(){
int[] array1=new int[3];
System.out.println("length====="+array1.length);
array1[0]=1;
array1[1]=2;
array1[2]=3;
}
System.out: array1.length=====3
靜態(tài)初始化:
public void invoke(){
int[] array2=new int[]{1,2,2,4,3};
System.out.println("array1.length====="+array2.length);
for (int i = 0; i < array2.length; i++) {
System.out.println("array2["+i+"]===="+array2[I]);
}
System.out: array1.length=====5
System.out: array2[0]====1
System.out: array2[1]====2
System.out: array2[2]====2
System.out: array2[3]====4
System.out: array2[4]====3
匿名數(shù)組初始化:
public void invoke(){
System.out.println("======="+new int[]{1,3,4}.length);
}
如果數(shù)組為空或者訪問超出數(shù)組的長度會報異常:
public void invoke(){
int[] array3=null;
System.out.println("array==="+array3.length);//空指針異常
}
Caused by: java.lang.NullPointerException: Attempt to get length of null array
public void invoke(){
int[] array1=new int[3];
System.out.println("array1.length====="+array1.length);
array1[0]=1;
array1[1]=2;
array1[2]=3;
System.out.println("array==="+array1[3]);//數(shù)組越界
}
Caused by: java.lang.ArrayIndexOutOfBoundsException: length=3; index=3
多維數(shù)組:多維數(shù)組將使用多個下標(biāo)訪問數(shù)組元素岩馍,它適用于表示表格或更加復(fù)雜的排列形式。動態(tài)初始化和靜態(tài)初始化同一維數(shù)組抖韩。
public void invoke(){
//二維數(shù)組
int[][] array=new int[][]{{1,3},{3,4,2}};
//打印數(shù)組內(nèi)容
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.println("==="+array[i][j]);
}
}
}
System.out: ===1
System.out: ===3
System.out: ===3
System.out: ===4
System.out: ===2
數(shù)組排序:可以使用Arrays類中的sort方法進(jìn)行排序蛀恩,這個方法采用了優(yōu)化的快速排序算法對數(shù)組進(jìn)行了排序。
public void invoke(){
int[] array1=new int[4];
array1[0]=1;
array1[1]=4;
array1[2]=3;
array1[3]=2;
for (int i = 0; i < array1.length; i++) {
System.out.println("sort前==="+array1[I]);
}
Arrays.sort(array1);
for (int i = 0; i < array1.length; i++) {
System.out.println("sort后==="+array1[I]);
}
}
System.out: sort前===1
System.out: sort前===4
System.out: sort前===3
System.out: sort前===2
System.out: sort后===1
System.out: sort后===2
System.out: sort后===3
System.out: sort后===4
總結(jié):此篇記錄鞏固下Java 基礎(chǔ)數(shù)組相關(guān)的內(nèi)容茂浮,哪里有問題或者有關(guān)于數(shù)組相關(guān)的問題双谆,歡迎大家指出和在評論區(qū)評論,可以一起討論解決席揽,一起成長進(jìn)步顽馋。