標籤:成員 down false word stat tar 拷貝 代碼 編碼
變數和常量
在程式中存在大量的資料來代表程式的狀態,其中有些資料在程式的運行過程中值會發生改變,有些資料在程式運行過程中值不能發生改變,這些資料在程式中分別被叫做變數和常量。
在實際的程式中,可以根據資料在程式運行中是否發生改變,來選擇應該是使用變數代表還是常量代表。
變數
變數代表程式的狀態。程式通過改變變數的值來改變整個程式的狀態,或者說得更大一些,也就是實現程式的功能邏輯。
為了方便的引用變數的值,在程式中需要為變數設定一個名稱,這就是變數名。
由於Java語言是一種強型別的語言,所以變數在使用以前必須首先聲明,在程式中聲明變數的文法格式如下:
資料類型 變數名稱;
例如:int x;
在該文法格式中,資料類型可以是Java語言中任意的類型,包括基礎資料型別 (Elementary Data Type)和複合資料型別。變數名稱是該變數的標識符,需要符合標識符的命名規則,在實際使用中,該名稱一般和變數的用途對應,這樣便於程式的閱讀。資料類型和變數名稱之間使用空格進行間隔,空格的個數不限,但是至少需要1個。語句使用“;”作為結束。
也可以在聲明變數的同時,設定該變數的值,文法格式如下:
資料類型 變數名稱 = 值;
例如:int x = 10;
在該文法格式中,前面的文法和上面介紹的內容一致,後續的“=”代表賦值,其中的“值”代表具體的資料,注意區別“==”代表為判斷是否相等。在該文法格式中,要求值的類型需要和聲明變數的資料類型一致。
在程式中,變數的值代表程式的狀態,在程式中可以通過變數名稱來引用變數中儲存的值,也可以為變數重新賦值。例如:
int n = 5;
n = 10;
在實際開發過程中,需要聲明什麼類型的變數,需要聲明多少個變數,需要為變數賦什麼數值,都根據程式邏輯決定,這裡列舉的只是表達的格式而已。
常量
常量代表程式運行過程中不能改變的值。
常量在程式運行過程中主要有2個作用:
1. 代表常數,便於程式的修改(例如:圓周率的值)
2. 增強程式的可讀性(例如:常量UP、DOWN、LEFT和RIGHT分辨代表上下左右,其數值分別是1、2、3和4)
常量的文法格式和變數類型:只需要在變數的文法格式前面添加關鍵字final即可。在Java編碼規範中,要求常量名必須大寫。
則常量的文法格式如下:
final 資料類型 常量名稱 = 值;
final 資料類型 常量名稱1 = 值1, 常量名稱2 = 值2,……常量名稱n = 值n;
例如:
final double PI = 3.14;
final char MALE=‘M’,FEMALE=‘F’;
在Java文法中,常量也可以首先聲明,然後再進行賦值,但是只能賦值一次,範例程式碼如下:
final int UP;
UP = 1;
變數類型
局部變數
局部變數聲明在方法、構造方法或者與語句塊中;在方法、構造方法或者語句塊中被執行的時候建立,當它們執行完成後,變數將被銷毀;存取修飾詞不能用於局部變數;只在聲明它的方法、建構函式或者語句塊中可見;局部變數是在棧上分配的;局部變數沒有預設值,所以被聲明後,必須經過初始化,才可以使用。
成員變數(執行個體變數)
成員變數聲明在一個類中,但在方法、構造方法和語句塊之外;當一個對象被執行個體化之後,每個執行個體變數的值就跟著確定;成員變數在對象建立的時候建立,在對象銷毀之時銷毀;執行個體變數的值應該至少被一個方法、構造方法或者語句區塊引述,使得外部能夠通過這些方式擷取執行個體變數資訊;成員變數可以聲明在使用前或使用後;存取修飾詞可以修飾成員變數;成員變數對於類中的方法、構造方法或者語句塊是可見的,一般情況下應該把它們設為私人,通過使用存取修飾詞可以使執行個體變數對子類可見;成員變數具有預設值,數值型變數預設值是0,布爾型變數預設值是false,參考型別變數的預設值是null。變數的值可以在聲明時指定,也可以在構造方法中指定;執行個體變數可以直接通過變數名方法。
類變數(靜態變數)
類變數也稱為靜態變數,在類中以static關鍵字聲明,但必須在方法、構造方法和語句塊之外。無論一個類建立了多少個對象,類只擁有類變數的一份拷貝,類變數是類的資源。靜態變數除了被聲明為常量之外很少使用,常量使之聲明為public/private,final和static類型的變數,常量初始化後不可改變。靜態變數儲存在靜態儲存區,經常被聲明為常量,很少單獨使用static聲明變數。靜態變數在程式開始時建立,在程式結束時銷毀。與執行個體變數具有相似的可見度,但為了對類的使用者可見,大多數靜態變數聲明為public類型。預設值和執行個體變數相似,可以在聲明時賦值也可以在構造方法中指定,此外,靜態變數還可以在靜態語句塊中初始化。靜態變數可以通過:ClassName.VariableName的方式訪問。類變數被聲明為public static final類型時,類變數名稱必須使用大寫字母,如果靜態變數不是public和final類型,其命名方式與執行個體變數以及局部變數的命名方式一致。
【Java學習筆記之三】java中的變數和常量