一.數(shù)組的語(yǔ)法:定義數(shù)組,初始化數(shù)組[x][]
1.數(shù)組類(lèi)型:保存一組其他類(lèi)型的數(shù)據(jù),元素類(lèi)型
int[] /double[]
int[] intArray;//=int intArray[]//規(guī)則允許,規(guī)范不建議使用
2.數(shù)組的初始化//數(shù)組長(zhǎng)度固定
2.1:靜態(tài) int[] array={1,2,3,4,5};//用到已知數(shù)組所有元素,不支持修改
int[] array=new int[]{1,2,3,4,5};//給方法傳參。構(gòu)造匿名數(shù)組
2.2:動(dòng)態(tài) int[] array=new int[數(shù)組的長(zhǎng)度];
//array=new int[10] 存放了10個(gè)
2.3:不初始化 int[] array=null;//null 是空引用
3.數(shù)組的下標(biāo)訪問(wèn)[]
3.1 下標(biāo)類(lèi)型一定是jint
3.2 取值范圍 [0,array.length-1]// 注意下標(biāo)取異常 ?"java.lang.ArrayIndexOutOfBoundsException"異常信息。
4.數(shù)組本質(zhì)也是對(duì)象(objiect類(lèi)的派生類(lèi))
4.1屬性 對(duì)象.屬性 array.length
int[] array=...;//傳了一組數(shù)
array.length;//數(shù)組中元素個(gè)數(shù)就自己知道了;
二.數(shù)組模型(引用):可以形象的比喻為通過(guò)小盒子里的信息)找到真實(shí)數(shù)據(jù)存放的位置;//就是引導(dǎo)調(diào)用的棧中的元素找到真實(shí)存放的堆區(qū)位置(只有一份)
1.引用類(lèi)型的變量: 無(wú)論引用變量保存在棧上還是堆上,背后的數(shù)據(jù)(對(duì)象)一定是在堆上
模型:
2.解析空間不同:
基本數(shù)據(jù)類(lèi)型
引用數(shù)據(jù)類(lèi)型
引?傳遞空間:同?塊堆內(nèi)存空間可以被不同的棧內(nèi)存所指向。
3.方法傳遞:
3.1 無(wú)論是基本類(lèi)型還是引用類(lèi)型,都是簡(jiǎn)單的值傳遞。相當(dāng)于拷貝了一份實(shí)參 到調(diào)用的函數(shù)(將實(shí)參賦給形參)。所以,形參的改變不影響實(shí)參
3.2 引用傳遞時(shí),通過(guò)形參引用、修改真實(shí)對(duì)象(存放在堆中)的值,實(shí)參可以感受到變化
3.3 局部變量和參數(shù)保存在棧中://參數(shù)指的是形參
void main(){
int[] array={1,2,3,4,5};
method1();//調(diào)用完后,1,2,3,4,5
method2();//調(diào)用完后,1,2,200,4,5
}
void method1(int[] array){
array=new int[10];//引用了另一個(gè)數(shù)組,沒(méi)有引用原來(lái)的主函數(shù)中的數(shù)組,
//執(zhí)行完后,新引用的會(huì)被撤銷(xiāo),還是只留下最先引用的主函數(shù)
//通過(guò)動(dòng)態(tài)方式,將array指向新的數(shù)組,不會(huì)改變
}
void method2(int[] array){
array[2]=200;//改變了引用函數(shù)的值
}
創(chuàng)新互聯(lián)www.cdcxhl.cn,專(zhuān)業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開(kāi)啟,新人活動(dòng)云服務(wù)器買(mǎi)多久送多久。