尚學堂學習筆記
變量本質上就是代表一個”可操作的存儲空間”
不提倡這種"一行聲明多個變量"風格,逐一聲明每一個變量可以提高程序可讀性。
| 局部變量 |
方法或語句塊內部 |
方法/語句塊 |
從聲明位置開始,直到方法或語句塊執行完畢,局部變量消失 |
| 成員變量 (實例變量) |
類內部,方法外部 |
對象 |
對象創建,成員變量也跟着創建。對象消失,成員變量也跟着消失; |
| 靜態變量 (類變量) |
類內部,static修飾 |
類 |
類被加載,靜態變量就有效;類被卸載,靜態變量消失。 |
· 成員變量(也叫實例變量 member variable)
方法外部、類的內部定義的變量。從屬於對象,生命周期伴隨對象始終。如果不自行初始化,它會自動初始化成該類型的默認初始值。
| 表2-3實例變量的默認初始值 |
|
| 數據類型 |
實始值 |
| int |
0 |
| double |
0.0 |
| char |
‘\u0000’ |
| boolean |
false |
· 靜態變量(類變量 static variable)
使用static定義。 從屬於類,生命周期伴隨類始終,從類加載到卸載。 如果不自行初始化,與成員變量相同會自動初始化成該類型的默認初始值
final修飾叫符號常量,關鍵字final來定義一個常量。 常量一旦被初始化后不能再更改其值。
變量和常量命名規范(規范是程序員的基本准則,不規范會直接損害你的個人形象):
數據類型
-
所有變量、方法、類名:見名知意
-
類成員變量:首字母小寫和駝峰原則: monthSalary
-
局部變量:首字母小寫和駝峰原則
-
常量:大寫字母和下划線:MAX_VALUE
-
類名:首字母大寫和駝峰原則: Man, GoodMan
-
方法名:首字母小寫和駝峰原則: run(), runRun()
自動類型轉換指的是容量小的數據類型可以自動轉換為容量大的數據類型。如圖2-6所示,黑色的實線表示無數據丟失的自動類型轉換,而虛線表示在轉換時可能會有精度的損失。

| 表2-4整型數據類型 |
||
| 類型 |
占用存儲空間 |
表數范圍 |
| byte |
1字節 |
-27 ~ 27-1(-128~127) |
| short |
2字節 |
-215 ~ 215-1(-32768~32767) |
| int |
4字節 |
-231 ~ 231-1 (-2147483648~2147483647)約21億 |
| long |
8字節 |
-263 ~ 263-1
|
| 表2-4整型數據類型 |
||
| 類型 |
占用存儲空間 |
表數范圍 |
| byte |
1字節 |
-27 ~ 27-1(-128~127) |
| short |
2字節 |
-215 ~ 215-1(-32768~32767) |
| int |
4字節 |
-231 ~ 231-1 (-2147483648~2147483647)約21億 |
| long |
8字節 |
-263 ~ 263-1
|
布爾類型不能進行數據轉換
float類型的數值有一個后綴F或者f ,沒有后綴F/f的浮點數值默認為double類型。也可以在浮點數值后添加后綴D或者d, 以明確其為double類型。
Java浮點類型常量有兩種表示形式
由於字長有限,浮點數能夠精確表示的數是有限的,因而也是離散的。 浮點數一般都存在舍入誤差,很多數字無法精確表示(例如0.1),其結果只能是接近, 但不等於。二進制浮點數不能精確的表示0.1、0.01、0.001這樣10的負次冪。並不是所有的小數都能可以精確的用二進制浮點數表示。 如果需要進行不產生舍入誤差的精確數字計算,需要使用BigDecimal類。
-
十進制數形式,例如:3.14 314.0 0.314
-
科學記數法形式,如314e2 314E2 314E-2
-
浮點類型float,double的數據不適合在不容許舍入誤差的金融計算領域。如果需要進行不產生舍入誤差的精確數字計算,需要使用BigDecimal類。

