Java,C,C++的變量

首先,這三種語言,非靜態變量在定義時不會自動初始化,必須初始化纔可以使用否則報錯,靜態變量會自動初始化。特殊的,C的變量必須在語句塊頭部定義,否則報錯。靜態變量的存放地址,在整個程序運行期間都是固定不變的。

C和C++

全局變量:在與main平行的位置,不在任何語句塊內定義的變量,在程序的所有位置均有效。

局部變量:其他語句塊內定義的變量稱爲局部變量。

全局變量都是靜態變量,局部變量定義時如果前面加了“static”關鍵字,則該變量也成爲靜態變量。

靜態變量的存放地址,在整個程序運行期間都是固定不變的

非靜態變量(一定是局部變量)地址每次函數調用時都可能不同,在函數的一次執行期間不變

如果未明確初始化,則靜態變量會被自動初始化成全0(每個bit都是0),局部非靜態變量的值則隨機

Java:

Java中一個類通過使用new運算符可以創建多個不同的對象,接着這些對象會被分配不同的變量,類體中包括成員變量和方法兩部分,而其中的成員變量又可以分爲實例變量和類變量兩部分,實例變量和類變量在聲明上的區別就是有無static關鍵字

java中類變量(靜態變量)的初始化:

變量類型 初始值
int,byte,short,long 0
char 一個空格
double,float 0.0
引用值(比如String) null

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章