java編程規範之聲明變量

一、定義基本類型變量時
(1)定義局部基本類型變量

定義局部變量時,在使用該變量以前必須對其進行賦值初始化,不然編譯器會報錯,建議聲明變量和賦值同時進行。

(2)定義類全局基本類型變量
不管是靜態全局變量仍是動態全局變量,在建立對象new object()之時,系統會自動對全局基本類型變量進行初始化,除了定義全局變量之時就對其初始化以外。

二、定義非基本類型變量時,如String List 或其餘自定義類
(1)局部變量時

同基本類型變量同樣,使用前必須對其進行初始化,不然編譯器會報錯。

(2)全局變量
若只是聲明變量,如String s, List l, object o,建立對象時,會將其賦值爲null
若聲明變量的同時並進行初始化,String s=new String();List l=new List();object o=new object();此時會指向一片對象內存區域,再也不爲null, 如String爲空串,List爲空list,object爲系統初始化內容。

總結:局部變量使用前,必須進行初始化,不然編譯器會報錯。全局變量使用前若沒有手動初始化,系統會自動對其進行初始化。對於基本類型,系統會爲其賦值(int型=0,short型=(short)0,byte=(byte)0,boolean型=false,long型=0L,char型=‘\u0000’或null,float型=0.0f,double型=0.0),對於非基本數據類型會賦值爲null(初始化了除外)

String s=new String();String類型初始化值爲""空串
List l=new List();List類型初始化值爲[]空list但不是nul。數據庫

其餘自定義object o=new object();初始化值指向建立改對象的內存區域。.net

轉自https://blog.csdn.net/wiwayahu/article/details/53100433指針

 

咱們 int a;對象

在咱們的代碼一個部分中咱們給他賦值 a =10;
而另一個地方又給這個a負責,但這個a的值是從數據庫拿出來的,這中間有不少狀況,而拿到的是空值,這個時候是否是就有問題呢,會報空指針。
因此必需要初始化一個,通常都是int a=0;
同理,若是你你要給a賦值都是固定的,或者你能夠肯定這裏值都能拿到,那麼你聲明的時候確定用int a;blog

轉自http://ask.csdn.net/questions/225165內存

相關文章
相關標籤/搜索