java mp3数组_Java基础之数组(一)
數(shù)組的定義
數(shù)組是相同類型數(shù)據(jù)的有序集合。數(shù)組描述的是相同類型的若干個數(shù)據(jù),按照 一定的先后次序排列組合而成。其中,每一個數(shù)據(jù)稱作一個元素,每個元素可以通過一個索引(下標(biāo))來訪問它們。數(shù)組的三個基本特點(diǎn):
1,長度是確定的。數(shù)組一旦被創(chuàng)建,它的大小就是不可以改變的。
2,其元素必須是相同類型,不允許出現(xiàn)混合類型。
3,數(shù)組類型可以是任何數(shù)據(jù)類型,包括基本數(shù)據(jù)類型和引用類型。
注: 數(shù)組變量屬于引用類型,數(shù)組也可以看成是對象,數(shù)組中的每個元素相當(dāng)于該對象的成員變量。數(shù)組本身就是對象,Java中對象是在堆中的,因此數(shù)組無論保存原始類型還是其他對象類型,數(shù)組對象本身是在堆中存 ?儲的。
數(shù)組的聲明:
數(shù)組的聲明方式有兩種(以一維數(shù)組為例)
type[]? array_name;//(推薦使用這種方式)
type array_name[];
注意:
1,聲明的時候并沒有實(shí)例化任何對象,只有在實(shí)例化數(shù)組對象時,JVM才分配空間,這時才與長度有關(guān)。
2,聲明一個數(shù)組的時候并沒有數(shù)組真正被創(chuàng)建。
3,構(gòu)造一個數(shù)組,必須指定長度。
創(chuàng)建一維數(shù)組
/*** 聲明并創(chuàng)建一個一維數(shù)組*/
int [] array = null;//聲明一個一維數(shù)組
array= new int[10];//創(chuàng)建一維數(shù)組,并給定數(shù)組長度為10
for(int i=0;i
array[i]= (int)(Math.random()*10) + 1;
}//for each循環(huán)遍歷數(shù)組
for (inti : array) {
System.out.print(i+ " ");
}
關(guān)于上面代碼的內(nèi)存分配圖:
當(dāng)程序被加載后,程序先進(jìn)入main方法中,在棧內(nèi)存中創(chuàng)建一個int類型的數(shù)組的引用名為s值為null(int s = null;)。接著在堆內(nèi)存中創(chuàng)建一個長度為10的數(shù)組對象,同時將該對象的引用地址賦給棧內(nèi)存中的s(s = new int[10])。最后根據(jù)數(shù)組的下標(biāo)在數(shù)組中的每一個下標(biāo)處賦值。
//聲明引用數(shù)據(jù)類型的數(shù)組
Man [] mans;//為引用數(shù)據(jù)類型的數(shù)組指定長度
mans= new Man[10];//創(chuàng)建對象
Man man1= new Man(1, 12);
Man man2= new Man(2, 22);//給引用類型數(shù)組賦值
mans[0] =man1;
mans[1] = man2;
上面代碼的內(nèi)存圖:
初始化
數(shù)組的初始化方式總共有三種:靜態(tài)初始化,動態(tài)初始化,默認(rèn)初始化。
1, 靜態(tài)初始化
除了用new關(guān)鍵字來產(chǎn)生數(shù)組以外,還可以直接在定義數(shù)組的同時就為數(shù)組元素分配空間并賦值。
/*** 靜態(tài)初始化數(shù)組*/
int [] array = {1,3,5,6};//靜態(tài)初始化基本數(shù)據(jù)類型數(shù)組
Man[] man= {new Man(1, 12),new Man(2, 13)};//靜態(tài)初始化引用數(shù)據(jù)類型數(shù)組
2,動態(tài)初始化
數(shù)組定義與為數(shù)組元素分配空間并賦值的操作分開進(jìn)行。
/*** 動態(tài)初始化數(shù)組*/
int [] a1 = new int[2];//動態(tài)初始化數(shù)組,先分配空間
a1[0] = 1;//給數(shù)組元素賦值
a1[1] = 2;
3, 數(shù)組的默認(rèn)初始化
數(shù)組是引用類型,它的元素相當(dāng)于類的實(shí)例變量,因此數(shù)組一經(jīng)分配空間,其中的每個元素也被按照實(shí)例變量同樣的方式被隱式初始化。
int a2[] = new int[2]; //默認(rèn)值:0,0
boolean[] b = new boolean[2]; //默認(rèn)值:false,false
String[] s= new String[2]; //默認(rèn)值:null, null
數(shù)組的遍歷方式,可以通過for循環(huán)或者for each循環(huán)的方式
/*** 聲明并創(chuàng)建一個一維數(shù)組*/
int [] s = null;//聲明一個一維數(shù)組
s = new int[10];//創(chuàng)建一維數(shù)組,并給定數(shù)組長度為10
for(int i=0;i
s[i] = 2*i + 1;
}//使用for循環(huán)遍歷數(shù)組
for (int i = 0; i < s.length; i++) {
System.out.print(s[i]+ " ");
}//for each循環(huán)遍歷數(shù)組
for (inti : s) {
System.out.print(i+ " ");
}
總結(jié)
以上是生活随笔為你收集整理的java mp3数组_Java基础之数组(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java bitset 扩展_将java
- 下一篇: java美元兑换,(Java实现) 美元