資料型別的轉換,分為自動轉換和強制轉換。自動轉換是程式在執行過程中 「 悄然 」 進行的轉換,不需要使用者提前宣告,一般是從位數低的型別向位數高的型別轉換;強制型別轉換則必須在**中宣告,轉換順序不受限制。
自動轉換按從低到高的順序轉換。不同型別資料間的優先關係如下:
低 ---------------------------------------------> 高
byte,short,char-> int -> long -> float -> double
運算中,不同型別的資料先轉化為同一型別,然後進行運算,轉換規則如下:
順便貼一下各種型別對應的位數:
基本型別:byte 二進位制位數:8
最小值:byte.min_value=-128
最大值:byte.max_value=127
基本型別:short 二進位制位數:16
最小值:short.min_value=-32768
最大值:short.max_value=32767
基本型別:char 二進位制位數:16
最小值:character.min_value=0
最大值:character.max_value=65535
基本型別:int 二進位制位數:32
最小值:integer.min_value=-2147483648
最大值:integer.max_value=2147483647
基本型別:long 二進位制位數:64
最小值:long.min_value=-9223372036854775808
最大值:long.max_value=9223372036854775807
(為什麼這裡long能自動轉float看了資料我也是一臉蒙蔽呀,你可以用float表示的範圍比long大來理解吧,因為float是帶精度的)
基本型別:float 二進位制位數:32
最小值:float.min_value=1.4e-45
最大值:float.max_value=3.4028235e38
基本型別:double 二進位制位數:64
最小值:double.min_value=4.9e-324
最大值:double.max_value=1.7976931348623157e308
強制轉換的格式是在需要轉型的資料前加上 「( )」 ,然後在括號內加入需要轉化的資料型別。有的資料經過轉型運算後,精度會丟失,而有的會更加精確 關於Java物件之間的強制轉換型別
public class employee public class hrstaff extends employee子類物件可以宣告為父類型別,父類物件不可以宣告為子類型別 employee emp new hrstaff 正確 hrstaff hr new employee 錯誤在子類物件宣告為...
java 型別轉換 強制型別轉換
今天在寫乙個demo時,碰到型別轉換問題。發現兩個不相干的class進行強制型別轉換編譯是不會通過的,但是。乙個class到乙個不相干的inte ce強制型別轉換是可以編譯通過的。可能有人感覺知道這沒什麼意義,但是感覺還是記錄下。雖然有自動型別轉換,以及強制型別轉換,但有時強制型別轉換不能通過時,可...
JAVA型別轉換
string s fs123fdsa string變數 byte b s.getbytes string轉換為byte string t new string b bytep轉換為string 1 將字串轉化為整型 int i integer.parsein string str int i int...