不初始化,Java陣列如何使用?
陣列是大多數程式語言提供的一種複合結構,如果程式需要多個型別相同的變數時,就可以考慮定義一個陣列。Java語言的陣列變數是引用型別的變數,因此具有Java獨有的特性。
在正常的Java開發中,使用Java陣列之前,我們都會對陣列進行初始化,為陣列中的元素分配記憶體空間、賦值等,但Java陣列一定要初始化嗎?不初始化可以 麼?
其實,java的陣列變數是引用型別的變數,並不是陣列物件本身,只要讓陣列變數指向有效的陣列物件,程式中就可使用該陣列變數,比如下面這個例子:
public class T {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//定義並初始化nums陣列
int nums[] = new int[]{3,13,4,6};
//定義一個prices陣列變數
int prices[];
//讓prices陣列指向nums所引用的陣列
prices = nums;
for(int i=0;i
System.out.println(prices[i]);
}
//將prices陣列的第三個元素賦值為100
prices2 = 100;
//訪問nums陣列的第三個元素 將看到陣列100
System.out.println(nums2);
}
}
從上面程式碼可以看出,定義了prices陣列之後,並未對prices陣列進行初始化。 當執行int prices[]之後, 程式的記憶體分配如圖
從圖可以看出,此時的prices陣列還未指向任何有效的記憶體,未指向任何陣列物件,此時的程式還不可使用prices陣列變數。
當程式執行prices = nums之後,prices變數將指向nums變數所引用的陣列,此時prices變數和nums變數引用同一個陣列物件。
執行這條語句之後,prices變數已經指向有效的記憶體及一個長度為4的陣列物件,因此程式完全可以正常使用prices變數了。
對於陣列變數來說,它並不需要進行所謂的初始化,只要讓陣列變數指向一個有效的陣列物件,程式即可正常使用該陣列變數。
所以,Java語言中的陣列,不一定要初始化也可正常使用。Java初學者可以嘗試用上面這裡例子的方法,實際操作一下,加深印象。最後,希望小編的分享對大家有幫助。
相關閱讀:《Java 8 中物件型別轉換的改進》
相關文章
- Java陣列如何實現動態初始化Java陣列
- Java 中初始化陣列Java陣列
- Java 中的陣列 如何使用Java陣列
- Java陣列03:陣列使用Java陣列
- Java陣列一定要初始化才能使用嗎?Java陣列
- Java陣列初始化三種方式Java陣列
- 【Java】陣列使用Java陣列
- [JAVA] Java 陣列、多維陣列,動態、靜態初始化,陣列JVM記憶體模型分析Java陣列JVM記憶體模型
- Java陣列的使用Java陣列
- 陣列的初始化陣列
- c#列舉與陣列初始化及使用小記C#陣列
- C#初始化陣列C#陣列
- Java陣列宣告建立和使用以及多維陣列、Arrays類、稀疏陣列Java陣列
- java二維陣列定義初始化-楊輝三角Java陣列
- CAD如何使用陣列命令陣列
- 陣列方法不混淆陣列
- Java 陣列Java陣列
- java——陣列Java陣列
- Java陣列Java陣列
- 初識Java(Java陣列-陣列的基本操作)Java陣列
- GNU C中陣列指定初始化陣列
- 陣列的三種初始化方式陣列
- C++ 陣列宣告和初始化C++陣列
- java日期 java陣列Java陣列
- java陣列如何遍歷全部的元素Java陣列
- [譯]如何更好的使用javascript陣列JavaScript陣列
- 如何在 bash 中使用索引陣列索引陣列
- 【譯】如何更好的使用javascript陣列JavaScript陣列
- scala陣列與java陣列對比陣列Java
- Checkbox 陣列 不更新陣列
- Java的 陣列Java陣列
- Java(二)陣列Java陣列
- JAVA陣列案例!Java陣列
- java Arrays陣列Java陣列
- java之陣列Java陣列
- java 陣列(轉)Java陣列
- Java - 7 陣列Java陣列
- python3 陣列(列表)初始化Python陣列