學習java第二天 (下)變量和數據類型轉換
變量
變量 : 可以改變的量
變量的三個要素:變量類型 變量名 值
變量的聲明:
int x; 聲明以分號結束 是一個完整的語句
變量命名的規則:以字母開頭的由數字,字母,下劃線和$組成(中文和中文符號例外),中間不能有空格,雖然用中文沒有問
題,但是容易出現錯誤,大小寫敏,可以用部分符號,但不要用$,$一般用於編譯器中,另外不能用java的保留字符作為變量名
一行可以聲明多個變量 int x,a,y;
變量的賦值:
聲明一個變量後需要對變量賦值進行顯式初始化。註意變量必須被賦值才能使用。
變量名 = 值;例如: x = 1;、
賦值可以與聲明寫在一行 例如:int x = 1;
變量在使用過程中可以多吃改變值
變量的註意事項:
java中變量必須先聲明在使用 使用前必須賦值
java可以在任何地方進行進行變量聲明
java中變量的聲明盡可能的靠近第一次使用的地方,這是一種良好的變成規範
擴展部分:
註意:在程序運行過程中,空間內的值是變化的,這個內存空間就稱為變量。為了操作方便,給這個空間取了個名字,稱為變量名,內存空間內的值就是變量值。所以,申請了內存空間,變量不一定有值,要想變量有值,就必須要放入值。
沒有賦值時,變量會有默認初始的值。
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第二天 (下)變量和數據類型轉換