歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java數組初始化

Java數組初始化

日期:2017/3/1 10:39:22   编辑:Linux編程

1.Java 數組初始化的兩種方法:

靜態初始化: 程序員在初始化數組時為數組每個元素賦值;

動態初始化: 數組初始化時,程序員只指定數組的長度,由系統為每個元素賦初值。

[java]

  1. public class ArrayInit {
  2. public static void main(String[] args) {
  3. //靜態初始化數組:方法一
  4. String cats[] = new String[] {
  5. "Tom","Sam","Mimi"
  6. };
  7. //靜態初始化數組:方法二
  8. String dogs[] = {"Jimmy","Gougou","Doggy"};
  9. //動態初始化數據
  10. String books[] = new String[2];
  11. books[0] = "Thinking in Java";
  12. books[1] = "Effective Java";
  13. System.out.println(cats.length);
  14. System.out.println(dogs.length);
  15. System.out.println(books.length);
  16. }
  17. }

Java數組是一種引用數據類型。數組變量並不是數組本身,而是指向堆內存中存放的數組對象。因此,可以改變一個數組變量所引用的數組。看下面這段代碼:

[java]

  1. public class ArrayInit {
  2. public static void main(String[] args) {
  3. //靜態初始化數組:方法一
  4. String cats[] = new String[] {
  5. "Tom","Sam","Mimi"
  6. };
  7. //靜態初始化數組:方法二
  8. String dogs[] = {"Jimmy","Gougou","Doggy"};
  9. //動態初始化數據
  10. String books[] = new String[2];
  11. books[0] = "Thinking in Java";
  12. books[1] = "Effective Java";
  13. cats = dogs;
  14. books = dogs;
  15. printArray(cats);
  16. printArray(dogs);
  17. printArray(books);
  18. }
  19. private static void printArray(String[] arr) {
  20. for(int i=0; i < arr.length; i++) {
  21. System.out.println(arr[i]);
  22. }
  23. }
  24. }

2.數組是否必須初始化

對於這個問題,關鍵在於要弄清楚數組變量和數組對象的差別。數組變量是存放在棧內存中的,數組對象是存放在堆內存中的。數組變量只是一個引用變量,他能夠指向實際的數組對象。

所謂的數組初始化並非對數組變量初始化,而是對數組對象進行初始化。

Copyright © Linux教程網 All Rights Reserved