java變數的分類與初始化,java變數初始化
2017/6/25
首先學習java最權威的就是官方的文檔了,今天從頭讀了文檔,把一些小細節理清楚。
變數
Java語言裡的變數分以下4類:
1. Instance Variables: (Non-Static Fields) 就是類裡非靜態field
2. Class Variables: (Static Fields) 類裡靜態field
3. Local Variables: 局部變數
4. Parameters: 參數
兩個術語要注意,分別是field和variable。field是指上面的1和2,是class擁有的。而不是field的變數就叫variable,對應上面的3和4,或者說局部的都是variable。
命名
Java的文檔中明確寫了推薦的命名方式,這就是為什麼java的代碼裡命名基本都差不多。格式就是用連續的有意義的單詞,從第二個單詞開始,首字母大寫。比如: speed, currentGear
基礎資料型別 (Elementary Data Type) Primitive Data Type
Java有8個基礎資料型別 (Elementary Data Type)
整數型 4個: byte, short, int, long
浮點 2個: float, double
字元 1個: char
布爾 1個: boolean
他們的預設初始值如下:
| Data Type |
Default Value (for fields) |
| byte |
0 |
| short |
0 |
| int |
0 |
| long |
0L |
| float |
0.0f |
| double |
0.0d |
| char |
'\u0000' |
| String (or any object) |
null |
| boolean |
false
|
預設值 Default Value
關於沒有初始化的變數的預設的值,c/c++是不會幫你設定的,而java不同,官方文檔描述的很清楚:
The eight primitive data types are: byte, short, int, long, float, double, boolean, and char. The java.lang.String class represents character strings. The compiler will assign a reasonable default value for fields of the above types; for local variables, a default value is never assigned. A literal is the source code representation of a fixed value. An array is a container object that holds a fixed number of values of a single type. The length of an array is established when the array is created. After creation, its length is fixed.
就是對於Field來說,自動設成預設值,比如int設成0,object設成null。而對於Variable來說,不會自動化佈建,如果沒有初始化的編譯器會報錯
參考:
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/variablesummary.html
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html