資源描述:
《ch5 數組引用.ppt》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、Java元素主要內容引用數組引用引用實質是指針,但是“安全的指針”不能直接利用指針運算對其值進行修改;分配利用new動作完成;回收由垃圾回收機制處理;引用對象的簡單回顧:C中日期:intyear,month,day;//獨立但如果表示:張三的生日、李四的生日……很快就會混亂對象方式:定義新類型:classMyDate{intyear;intmonth;intday;}引用對象的簡單回顧:對象方式:定義新類型:用新類型定義變量:MyDatemyBirthday,yourBirthday;創(chuàng)建對象:基本類型變量的聲明?內存空間的分配非基本類型變量聲明不分配
2、內存,不是數據本身,而是數據的引用例如:引用對象的簡單回顧:對象方式:創(chuàng)建對象:例如:MyDatetoday;today=newMyDate();結論:非基本類型變量的聲明,形成一個引用類型的變量引用引用類型的賦值:例如:有如下代碼片段:intx=7;inty=x;Strings=newString(“Hello”);Stringt=s;引用引用類型的賦值:上述代碼執(zhí)行后,又執(zhí)行:t=“World”;結果內存圖為:數組數組:相同類型的成組數據對象,通過一個名稱進行訪問可以聲明任何類型的數組(基本類型或類類型)chars[];?char[]s;MyDat
3、ep[];?MyDate[]p;在Java語言中,即使數組是由基本類型構成,或帶有其他類類型,數組都是一個對象。聲明不創(chuàng)建對象本身,而是創(chuàng)建引用數組變量聲明時,不能指定數組的長度數組元素使用new或數組初始化動態(tài)分配實際存儲空間數組Java中標準的數組定義:char[]str1,str2;char[]——字符數組類型str1,str2——變量名不能指定數組長,在創(chuàng)建生成數組對象時指定char[]str1=newchar[2];MyDate[]dt;//dt==nulldt=newMyDate[4];//生成的數組中,四個單元都是nulldt[0]=ne
4、wMyDate();nullnullnullYear,month,day數組數組初始化:創(chuàng)建數組時,每個元素都將被初始化——安全基本類型使用默認值;類對象使用null初始化的兩種等價形式:Stringnames[]={“Georgianna”,“Jen”,“Simon”};?下列代碼片段Stringnames[];names=newString[3];names[0]=“Georgianna”;names[1]=“Jen”;names[2]=“Simon”;數組多維數組:實質上,Java中不存在多維數組——因為數組可以聲明成具有任何類型。所謂多維數組,
5、就是數組的數組例如:int(twoDim[])[]=newint[4][];twoDim[0]=newint[5];twoDim[1]=newint[2];多維數組時,[]不能放在左側,即newint[][4]是非法的towDimnullnull0000000數組多維數組:由于多維數組中對每個數組元素分別初始化,所以可以形成非矩形數組的數組例如:inttwoDim[][]=newint[4][];twoDim[0]=newint[2];twoDim[1]=newint[4];twoDim[2]=newint[4];twoDim[3]=newint[8]
6、;數組多維數組:對于規(guī)則矩形數組,可簡化進行初始化:例如:inttwoDim[][]=newint[4][5];數組初始值為null數組界限:所有數組下標都從0開始數組對象具有l(wèi)ength屬性,用于檢驗訪問邊界length屬性的聲明形式為:publicfinallength;//可以讀取,不能修改例如:intlist[]=newint[10];for(inti=0;i7、lements[]=newint[6];elements=newint[10];Java中在System類中提供了特殊的方法拷貝數組:arraycopy()——如果數組是對象型,則拷貝的是引用,而不是對象,即對象本身不變System.arraycopy(from,fromindex,to,toindex,count)數組拷貝示例intmyArray[]={1,2,3,4,5,6};inthold[]={10,9,8,7,6,5,4,3,2,1};System.arraycopy(myArray,0,hold,0,myArray.length);//考慮
8、:結果hold數組中的值是?數組命令行參數:Java程序中main的形式固定為:publics