Java數據類型小結

一、數據類型的分類

Java中數據類型總體可以分爲兩類:
1、基本數據類型:byte、short、int、long、float、double、char和boolean。
2、引用數據類型:String 、數組等。
而基本數據類型又可以按不同的格式再次進行分類,字符型:char;數值型:byte、short、int、long、float、double;布爾型:boolean;
數值型的又可以分爲,整型:byte、short、int、long;浮點型:loat、double。

二、基本數據類型的轉換

由於每種數據類型所佔的內存空間不同,所以他們的取值範圍也不同,
byte、boolean:一個字節,八位
short、char:兩個字節,十六位
int、float:四個字節、三十二位
long、double:八個字節、六十四位
Java中除了boolean數據類型外,其餘類型的數據是可以混合在一起運算的。例如“10 + ‘a’+ 1.5 - 5.123 * ‘b’”是合法的。不過在運算的時候,如果某個運算符兩側的類型不同,就必須轉換爲相同的類型,然後才能運算。
轉換的基本原則:範圍小的轉換爲範圍大的,精度小的轉換爲精度大的。
byte→short,char→int→long→float→double
short與char相互轉換都需要強轉。
由於Java的字面量(默認定義類型)爲int類型,所以我們在進行計算的時候,如果定義了比int類型小的類型(short,char)進行運算時,Java會轉換爲int類型,計算後把值重新賦值到你定義的變量中,這樣就會照成類型不匹配。
例如:Java中的 ++ 運算:
++運算代表自增運算,那麼我定義一個變量讓他實現++ 運算應該和讓他自己等於他自己+1,例如:(int a = 1; a ++ ) 這裏a++ 應該等同於 a = a + 1;
但是如果a是short或者byte類型的,例如:(short a = 1; a++)這裏如果改成 a = a + 1,那麼編譯器會報錯,因爲Java默認1 是int 型的,所以進行計算時 會先把a轉爲int類型進行計算,得到的結果也爲int型 而定義的a爲short,所以報錯。 我們需要強轉。而a++ 不會報錯是因爲
a++ 進行的操作是:a = (a的類型)(a + 1)即:a++ 等同於 a = (a的類型)(a + 1) 。
還有一個關於基本數據類型的細節:
我們都知道 “=”在Java中的含義是賦值“==”纔是比較
現在有兩個基本數據類型,a 和 b 我想比較 a與b是否相等 ,那麼我用
a = b 是否可以?
答案是可以的, 因爲如果我的 a和b 均爲boolean 類型,那麼我用“=”就是直接比較a與b的值是否相同。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章