轉自:http://blog.csdn.net/abc5382334/article/details/18254517
對於類的成員變量
不管程序有沒有顯示的初始化,Java 虛擬機都會先自動給它初始化為默認值。
1、整數類型(byte、short、int、long)的基本類型變量的默認值為0。
2、單精度浮點型(float)的基本類型變量的默認值為0.0f。
3、雙精度浮點型(double)的基本類型變量的默認值為0.0d。
4、字符型(char)的基本類型變量的默認為 “/u0000”。
5、布爾性的基本類型變量的默認值為 false。
6、引用類型的變量是默認值為 null。
7、數組引用類型的變量的默認值為 null。當數組變量的實例后,如果沒有沒有顯示的為每個元素賦值,Java 就會把該數組的所有元素初始化為其相應類型的默認值。
數組例子:
1) int[] a; //聲明,沒有初始化默認值是null
2) int[] a=new int[5]; //初始化為默認值,int型為0
局部變量初始化
局部變量聲明以后,Java 虛擬機不會自動的為它初始化為默認值。
因此對於局部變量,必須先經過顯示的初始化,才能使用它。
如果編譯器確認一個局部變量在使用之前可能沒有被初始化,編譯器將報錯。
例如: