Java 数据类型转换
生活随笔
收集整理的這篇文章主要介紹了
Java 数据类型转换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
學而時習之,溫故而知新。
數據類型轉換,先放一張圖,了解數據類型
?
簡單數據類型之間的轉換又可以分為:
1 低級到高級的自動類型轉換
2 級到低級的強制類型轉換
3 包裝類過渡類型轉換。
(有時候我們有叫隱士轉換和顯示轉換,其實隱士類型轉換也就是自動類型轉換,顯示類型轉換也就是強制類型轉換)
?
自動類型轉換(隱式類型轉換),由系統自動完成的類型轉換。從存儲范圍小的類型到存儲范圍大的類型。由于實際開發中這樣的類型轉換很多,所以Java語言在設計時,沒有為該操作設計語法,而是由JVM自動完成。
?自動類型轉換的順序
byte,short,char?-->int? -->long -->float -->double
?
??????????? 例如:byte a=10;
???????????????? int b=a;
???????????????? int b=a;
? ? ? ? 定義a為byte類型 然后是把a賦值給b,這里在賦值時,JVM首先將a的值轉換為int類型,然后再賦值給b。
?這樣就是自動類型轉化。
注意問題
在整數之間進行類型轉換時,數值不發生改變,而將整數類型,特別是比較大的整數類型轉換成小數類型時,由于存儲方式不同,有可能存在數據精度的損失。
?
強制類型轉換(顯式類型轉換),從存儲范圍大的類型到存儲范圍小的類型。該類類型轉換很可能存在精度的損失。
例如:
int a=10;
byte b=(byte)a;
當編譯?byte b=(byte)a時,?a被強制轉換為byte類型。
?
注意: 寫順序的時候沒有寫boolean 因為布爾型和其它基本數據類型之間不能相互轉換;?
包裝類:
對應如下
byte --->byte
short--->short
int----->Integer
long---->Long
float---->Float
double--->Double
char---->Character
boolean---->Boolean
包裝類有何作用
? ? 1?提供了一系列實用的方法
? ? 2集合不允許存放基本數據類型數據,存放數字時,要用包裝類型
一般使用: Integer i = new Integer(10);
jdk5.0之后,引入了自動裝箱和拆箱
裝箱:將基本數據類型封裝為包裝類對象,利用每一個包裝類提供的構造方法實現裝箱操作。
拆箱:將包裝類中包裝的基本數據類型數據取出。
說明:
裝箱
在Java SE5之前,如果要生成一個數值為10的Integer對象,必須這樣進行:
Integer i = new Integer(10);
Java SE5開始就提供了自動裝箱的特性,如果要生成一個數值為10的Integer對象,只需要這樣就可以了:
Integer i = 10;(這個過程中會自動根據數值創建對應的 Integer對象,這就是裝箱),
?
拆箱
Integer i = 10; //裝箱? (右邊基本數據類型 左邊引用數據類型 “自動裝箱”)
int n = i; //拆箱
總結
以上是生活随笔為你收集整理的Java 数据类型转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .svn提交项目提示更新副本
- 下一篇: the server responded