標籤:ant 數值轉換 變化 boolean font strong 數實值型別 運算 str
變數
變數 : 可以改變的量
變數的三個要素:變數類型 變數名 值
變數的聲明:
int x; 聲明以分號結束 是一個完整的語句
變數命名的規則:以字母開頭的由數字,字母,底線和$組成(中文和中文符號例外),中間不能有空格,雖然用中文沒有問
題,但是容易出現錯誤,大小寫敏,可以用部分符號,但不要用$,$一般用於編譯器中,另外不能用java的保留字元作為變數名
一行可以聲明多個變數 int x,a,y;
變數的賦值:
聲明一個變數後需要對變數賦值進行顯式初始化。注意變數必須被賦值才能使用。
變數名 = 值;例如: x = 1;、
賦值可以與聲明寫在一行 例如:int x = 1;
變數在使用過程中可以多吃改變值
變數的注意事項:
擴充部分:
注意:在程式運行過程中,空間內的值是變化的,這個記憶體空間就稱為變數。為了操作方便,給這個空間取了個名字,稱為變數名,記憶體空間內的值就是變數值。所以,申請了記憶體空間,變數不一定有值,要想變數有值,就必須要放入值。
沒有賦值時,變數會有預設初始的值。
| byte |
0 |
| short |
0 |
| int |
0 |
| long |
0L |
| float |
0.0F |
| double |
0.0 |
| char |
'\u0000' |
| boolean |
flase |
| 參考型別 |
null(不可引用對象) |
資料類型轉換;
首先,boolean類型不能與其他類型進行轉換
注意小心記憶體溢出問題
將類型轉換分為下面幾種情況;
1,自動資料類型轉換
經典例子:
byte a = 1000;報錯 1000範圍大於byte中
float a1 = 1.5;報錯 1.5為double不能賦值給float
byte a2 = 100;正確 jvm在編譯過程中,對於預設為int類型的數值,如果將其賦值給一個比int範圍小的資料類型k(short byte char)等,jvm會進行判斷 如果,數值小於k將會把int類型自動轉回為k類型。如果,大於的類型k的取值範 圍,則會報錯。因為k裝不下,而你又沒有進行強制轉換。
當int的數值在類型k中,那麼這時候jvm將會進行一次隱式數值轉換。
在其他情況下,將一個數值範圍小的類型轉換為數值範圍大的類型,jvm在編譯過程中將數實值型別進行了自動提升,在這個過程中精度至少應該不變(float--double精度提升)
short類型資料和char類型資料之間進行轉換,只能強制進行轉換,因為雖然他們在用空間相同,但取值範圍不同。(short將近正負三萬2千char為0~65535)。
byte,short,char之間計算不會相互轉換,而是會轉會為int類型進行運算。即使是相同類型進行運算也是先轉換為int在計算,計算後再複製給byte,short,char需要強制類型轉換。
2.隱式資料類型轉換
自動類型轉換,由系統自動完成,從儲存範圍小的到儲存範圍大的自動轉換,byte-short,char-int-long-float-double
3.顯式資料類型轉換(強制資料類型轉換)
將範圍大的強制轉換為範圍小的類型,精度可能丟失。需要人為進行轉換。
在轉換過程中,例如將int轉換為byte 會強制選取會八位。結果會出現異常
4.數學運算資料類型轉換與可能需要的強制轉換
在數學運算中資料類型將朝範圍大的資料類型進行轉換。結果需要強制轉換為想要的資料類型。
強制轉換方法:
在數值見面加上強制類型轉換符
double d = 34.2
int x = (int)d
浮點型強制轉換為整數,會捨去小數位。
學習java第二天 (下)變數和資料類型轉換