
數(shù)組的定義和創(chuàng)建:
數(shù)組可以看成是多個(gè)相同類型數(shù)據(jù)的組合,實(shí)現(xiàn)對這些數(shù)據(jù)的統(tǒng)一管理。
例如:

數(shù)組元素:數(shù)組中的每一個(gè)數(shù)據(jù),稱為數(shù)組的一個(gè)元素
? ? 數(shù)組中的元素可以是任何數(shù)據(jù)類型,包括基本數(shù)據(jù)類型和引用類型
數(shù)組中元素的個(gè)數(shù),稱為數(shù)組的長度
Java語言中聲明數(shù)組時(shí)不能指定其長度

int c1=10;
double c2=10;
int[] a={12,32,43,56,456};
System.out.print(a[1]);
表示輸出數(shù)組中下標(biāo)為1的值
數(shù)組的定義方法:
int[] d1=new int[5];等價(jià)于int d2={0,0,0,0,0};
int[] d1=new int[5];5表示分配了幾個(gè)地方;
int[] d1=new int[]{1,2,3,4,5};
數(shù)組元素的賦值:
????JAVA中數(shù)組元素的下標(biāo)從0開始;
? ? 元素的下標(biāo)可以是整型常量或整型表達(dá)式;
? ? 數(shù)組名[元素下標(biāo)]=元素值;
例如:
????int[] d1=new int[]{1,2,3,4,5};
? ? d1[0]=2;
? ? 將數(shù)組第一的第一個(gè)元素的值變?yōu)?;
double e =new double[5];
System.out.print(e[0]);
輸出結(jié)果為0.0,表示double類型的默認(rèn)值;
String[] f= new String[5];
System.out.print(f[0]);
String默認(rèn)值是null;
boolean[] a=new boolean[5];
System.out.print(a);
boolean的數(shù)組默認(rèn)值為false
char[] a =new char[5];
System.out.print(a);
字符類型的數(shù)組的默認(rèn)值為 (空格)
數(shù)組的遍歷:將數(shù)組中的元素一一輸出;
? ? int[] a={12,23.4,58,4};
? ? for(i=0;i<5;i++){
System.out.print(a[i]);
}
foreach()? ? ? ? ?增強(qiáng)for? ? ?for+
? ? int[] a={12,23.4,58,4};
語法:for(int n:a){
System.out.print(n);
}
遍歷數(shù)組,將數(shù)組a中的元素一一遍歷出來
找到數(shù)組中的最大值,最小值,并輸出最大值最小值:

多維數(shù)組:
二維數(shù)組:
定義:? ? ?int[][] a={{12,45,,45,45,56},
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? {23,45,98,65,45}};
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? System.out.print(a[0][0]);
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 輸出結(jié)果為12;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? System.out.print(a[0][1]);
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 輸出結(jié)果為45;
二維數(shù)組相當(dāng)于一個(gè)一維數(shù)組中存放著兩個(gè)一維數(shù)組,
a[0]:是第一個(gè)數(shù)組的地址值,a[0][0]就是表示第一個(gè)數(shù)組中的第一個(gè)元素
a[1]:? ?是第二個(gè)數(shù)組的地址值a[1][0]就是表示第二個(gè)數(shù)組中的第一個(gè)元素
? ?????????????????????????????int[][] a={{12,45,,45,45,56},
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? {23,45,98,65,45}};
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? int []b=a[0];
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? System.out.print(b[1]);
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 輸出結(jié)果為12
遍歷二維數(shù)組:
int [][]a= {{1,2,3,4,5},{6,7,8,9,10}};
????????????????for(int i=0;i<2;i++) {
????????????????????????for(int j=0;j<5;j++) {
????????????????????????????????System.out.println(a[i][j]);
????????????????????}
????????????}
foreach方法:
for(int[]b : a) {
System.out.println(b);
for(int n : b) {
System.out.println(n);
}
}
三維數(shù)組:
三維數(shù)組相當(dāng)于三個(gè)二維數(shù)組,里面裝著多個(gè)一維數(shù)組,
表達(dá)式:? int[][][] a={
{{1,2,3},{4,5,6},{7,8,9}},
{{10,11,12},{13,14,15},{16,17,18}},
{{19,20,21},{22,23,24},{25,26,27}},
};
三維數(shù)組的遍歷:
最好使用foreach:

第一個(gè)[]表示選取那個(gè)二維數(shù)組,第二個(gè)[]表示選取二維數(shù)組中的那個(gè)一維數(shù)組,第三個(gè)[]表示選取一維數(shù)組中的那個(gè)元素
數(shù)組名+length表示數(shù)組的長度;
System.out.print(a.length);輸出該數(shù)組的長度
System.out.print(a[a.length-1]);輸出該數(shù)組最后一個(gè)元素;
int[] b=new int[5];表示為虛擬機(jī)自動(dòng)的給他賦值;
數(shù)組的冒泡排序:
從小到大:
int[] a= {23,13,45,6,78,12,4,1};
for(int i=0;i<a.length-1;i++) {
for( int j =0;j<a.length-1-i;j++) {
if(a[j]>a[j+1]) {
int temp;
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
}
}
for(int n:a){
System.out.print(n+",");
}
}
}
從大到?。?/p>
int[] a= {23,13,45,6,78,12,4,1};
for(int i=0;i<a.length-1;i++) {
for( int j =0;j<a.length-1-i;j++) {
if(a[j]<a[j+1]) {
int temp;
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
}
}
for(int n:a){
System.out.print(n+",");
}
}
}
用while語句來寫:
從大到?。?/p>
int[] a= {23,13,45,6,78,12,4,1};
int j=0;
while(j<a.length-1) {
int i=0;
while(i<a.length-1-j) {
if(a[i]<a[i+1]) {
int temp;
temp =a[i+1];
a[i+1]=a[i];
a[i]=temp;
}
i++;
}
j++;
}
for(int n:a){
System.out.print(n+",");
}
}
}