自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Java數(shù)組 不一定要初始化也可正常使用

開發(fā) 后端
數(shù)組是大多數(shù)編程語言提供的一種復(fù)合結(jié)構(gòu),如果程序需要多個類型相同的變量時,就可以考慮定義一個數(shù)組。Java語言的數(shù)組變量是引用類型的變量,因此具有Java獨有的特性。

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

在正常的Java開發(fā)中,使用Java數(shù)組之前,我們都會對數(shù)組進(jìn)行初始化,為數(shù)組中的元素分配內(nèi)存空間、賦值等,但Java數(shù)組一定要初始化嗎?不初始化可以 么?

其實,java的數(shù)組變量是引用類型的變量,并不是數(shù)組對象本身,只要讓數(shù)組變量指向有效的數(shù)組對象,程序中就可使用該數(shù)組變量,比如下面這個例子:

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}; 

    //定義一個prices數(shù)組變量 

    int prices[]; 

    //讓prices數(shù)組指向nums所引用的數(shù)組 

    prices = nums; 

    for(int i=0;i<prices.length;i++){ 

      System.out.println(prices[i]); 

    } 

    //將prices數(shù)組的第三個元素賦值為100 

    prices[2] = 100; 

    //訪問nums數(shù)組的第三個元素 將看到數(shù)組100 

    System.out.println(nums[2]); 

  } 

}

從上面代碼可以看出,定義了prices數(shù)組之后,并未對prices數(shù)組進(jìn)行初始化。 當(dāng)執(zhí)行int prices[]之后,

程序的內(nèi)存分配如圖

從圖可以看出,此時的prices數(shù)組還未指向任何有效的內(nèi)存,未指向任何數(shù)組對象,此時的程序還不可使用prices數(shù)組變量。

當(dāng)程序執(zhí)行prices = nums之后,prices變量將指向nums變量所引用的數(shù)組,此時prices變量和nums變量引用同一個數(shù)組對象。

執(zhí)行這條語句之后,prices變量已經(jīng)指向有效的內(nèi)存及一個長度為4的數(shù)組對象,因此程序完全可以正常使用prices變量了。

對于數(shù)組變量來說,它并不需要進(jìn)行所謂的初始化,只要讓數(shù)組變量指向一個有效的數(shù)組對象,程序即可正常使用該數(shù)組變量。

所以,Java語言中的數(shù)組,不一定要初始化也可正常使用。Java初學(xué)者可以嘗試用上面這里例子的方法,實際操作一下,加深印象。***,希望小編的分享對大家有幫助。

責(zé)任編輯:王雪燕 來源: 小麥麥子
相關(guān)推薦

2015-09-21 09:02:39

java數(shù)組

2015-09-16 13:11:23

Java數(shù)組初始化

2015-06-29 11:38:47

物聯(lián)網(wǎng)

2021-02-26 09:04:22

數(shù)組ArrayListHashMap

2018-03-09 10:34:48

顯卡參數(shù)超頻

2020-08-30 14:31:40

Python編程語言開發(fā)

2018-01-18 05:20:59

2021-04-30 21:00:14

VRAR虛擬現(xiàn)實技術(shù)

2019-11-04 13:50:36

Java數(shù)組編程語言

2009-06-11 13:26:16

Java數(shù)組聲明創(chuàng)建

2013-05-14 10:41:16

Palo AltoNGFWUTM

2010-11-17 11:11:44

跳槽

2021-01-29 09:17:00

深度學(xué)習(xí)AI人工智能

2024-03-21 17:29:45

2009-09-08 09:48:34

LINQ初始化數(shù)組

2016-11-28 11:19:48

術(shù)語神秘

2022-12-26 09:16:45

Guava架構(gòu)模型

2009-08-28 11:24:48

C#一維數(shù)組初始化

2020-08-03 10:43:33

數(shù)據(jù)中心人工智能技術(shù)

2022-04-26 06:53:37

HBaseMD5RowKey
點贊
收藏

51CTO技術(shù)棧公眾號