新聞中心
數(shù)組是大多數(shù)編程語(yǔ)言提供的一種復(fù)合結(jié)構(gòu),如果程序需要多個(gè)類(lèi)型相同的變量時(shí),就可以考慮定義一個(gè)數(shù)組。Java語(yǔ)言的數(shù)組變量是引用類(lèi)型的變量,因此具有Java獨(dú)有的特性。

創(chuàng)新互聯(lián)是一家專業(yè)提供南丹企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、html5、小程序制作等業(yè)務(wù)。10年已為南丹眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。
在正常的Java開(kāi)發(fā)中,使用Java數(shù)組之前,我們都會(huì)對(duì)數(shù)組進(jìn)行初始化,為數(shù)組中的元素分配內(nèi)存空間、賦值等,但Java數(shù)組一定要初始化嗎?不初始化可以 么?
其實(shí),java的數(shù)組變量是引用類(lèi)型的變量,并不是數(shù)組對(duì)象本身,只要讓數(shù)組變量指向有效的數(shù)組對(duì)象,程序中就可使用該數(shù)組變量,比如下面這個(gè)例子:
- public class T {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- //定義并初始化nums數(shù)組
- int nums[] = new int[]{3,13,4,6};
- //定義一個(gè)prices數(shù)組變量
- int prices[];
- //讓prices數(shù)組指向nums所引用的數(shù)組
- prices = nums;
- for(int i=0;i
- System.out.println(prices[i]);
- }
- //將prices數(shù)組的第三個(gè)元素賦值為100
- prices[2] = 100;
- //訪問(wèn)nums數(shù)組的第三個(gè)元素 將看到數(shù)組100
- System.out.println(nums[2]);
- }
- }
從上面代碼可以看出,定義了prices數(shù)組之后,并未對(duì)prices數(shù)組進(jìn)行初始化。 當(dāng)執(zhí)行int prices[]之后,
程序的內(nèi)存分配如圖
從圖可以看出,此時(shí)的prices數(shù)組還未指向任何有效的內(nèi)存,未指向任何數(shù)組對(duì)象,此時(shí)的程序還不可使用prices數(shù)組變量。
當(dāng)程序執(zhí)行prices = nums之后,prices變量將指向nums變量所引用的數(shù)組,此時(shí)prices變量和nums變量引用同一個(gè)數(shù)組對(duì)象。
執(zhí)行這條語(yǔ)句之后,prices變量已經(jīng)指向有效的內(nèi)存及一個(gè)長(zhǎng)度為4的數(shù)組對(duì)象,因此程序完全可以正常使用prices變量了。
對(duì)于數(shù)組變量來(lái)說(shuō),它并不需要進(jìn)行所謂的初始化,只要讓數(shù)組變量指向一個(gè)有效的數(shù)組對(duì)象,程序即可正常使用該數(shù)組變量。
所以,Java語(yǔ)言中的數(shù)組,不一定要初始化也可正常使用。Java初學(xué)者可以嘗試用上面這里例子的方法,實(shí)際操作一下,加深印象。***,希望小編的分享對(duì)大家有幫助。
文章題目:Java數(shù)組一定要初始化才能使用嗎?
分享地址:http://fisionsoft.com.cn/article/ccojhgs.html


咨詢
建站咨詢
