歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Java數組初始化

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

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

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

[java]

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

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

[java]

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

  2.數組是否必須初始化

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

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

Copyright © Linux教程網 All Rights Reserved