2017/6/25 首先學習java最權威的就是官方的文檔了,今天從頭讀了文檔,把一些小細節理清楚。 變數 Java語言里的變數分以下4類: 1. Instance Variables: (Non-Static Fields) 就是類里非靜態的field 2. Class Variables: (S ...
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
基本數據類型 Primitive Data Type
Java有8個基本數據類型
整數型 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