Java中數據類型及其之間的轉換(轉)

Java中數據類型及其之間的轉換java

基本的數據類型api

基本類型有如下四種:
1)int長度數據類型有:byte(8bits)、short(16bits)、int(32bits)、long(64bits)、
2)float長度數據類型有:單精度(32bits float)、雙精度(64bits double),JAVA中將小數默認爲double類型,若要定義float需在數據後面用f聲明;
3)boolean類型變量的取值有:ture、false
4)char數據類型有:unicode字符,16位
對應的類類型:Integer、Float、Boolean、Character、Double、Short、Byte、Long函數

基本的數據類型由低級到高級分別爲:(byte、short、char)——int——long——float——doublecode

PS:此處的「級別」是指表示值的範圍的大小。對象

數據類型之間的轉轉換unicode

分爲如下幾種狀況:字符串

1)低級到高級的自動類型轉換;get

2)高級到低級的強制類型轉換(會致使溢出或丟失精度);it

3)基本類型向類類型轉換;變量

4)基本類型向字符串的轉換;

5)類類型向字符串轉換

基本數據類型之間的轉換規則
1.在一個雙操做數以及位運算等算術運算式中,會根據操做數的類型將低級的數據類型自動轉換爲高級的數據類型,分爲如下幾種狀況:

1)只要兩個操做數中有一個是double類型的,另外一個將會被轉換成double類型,而且結果也是double類型;

2)只要兩個操做數中有一個是float類型的,另外一個將會被轉換成float類型,而且結果也是float類型;

3)只要兩個操做數中有一個是long類型的,另外一個將會被轉換成long類型,而且結果也是long類型;

4)兩個操做數(包括byte、short、int、char)都將會被轉換成int類型,而且結果也是int類型。  

2. 若是低級類型爲char型,向高級類型(整型)轉換時,會轉換爲對應ASCII碼值,再作其它類型的自動轉換。

3. 對於byte,short,char三種類型而言,他們是平級的,所以不能相互自動轉換,可使用下述的強制類型轉換。 如:

short i=99 ;
char c=(char)i;
System.out.println("output:"+c);

4. 不能在布爾值和任何數字類型間強制類型轉換;

5. 不一樣級別數據類型間的強制轉換,可能會致使溢出或精度的降低。

6. 當字節類型變量參與運算,java做自動數據運算類型的提高,將其轉換爲int類型。例如:byte b;
    b=3;
    b=(byte)(b*3);//必須聲明byte。

包裝數據類型與基本數據類型之間的轉換

簡單類型的變量轉換爲相應的包裝類,能夠利用包裝類的構造函數。即:Boolean(boolean value)、Character(char value)、Integer(int value)、Long(long value)、Float(float value)、Double(double value)
而在各個包裝類中,總有形爲××Value()的方法,來獲得其對應的簡單類型數據。利用這種方法,也能夠實現不一樣數值型變量間的轉換,例如,對於一個雙精度實型類,intValue()能夠獲得其對應的整型變量,而doubleValue()能夠獲得其對應的雙精度實型變量。
1.字符串與其它類型間的轉換
其它類型向字符串的轉換
①調用類的串轉換方法:X.toString();
②自動轉換:X+「」;
③使用String的方法:String.volueOf(X);
字符串做爲值,向其它類型的轉換
①先轉換成相應的封裝器實例,再調用對應的方法轉換成其它類型
例如,字符中「32.1」轉換double型的值的格式爲:new Float(「32.1」).doubleValue()。也能夠用:Double.valueOf(「32.1」).doubleValue()
②靜態parseXXX方法
String s = "1";
byte b = Byte.parseByte( s );
short t = Short.parseShort( s );
int i = Integer.parseInt( s );
long l = Long.parseLong( s );
Float f = Float.parseFloat( s );
Double d = Double.parseDouble( s );
③Character的getNumericValue(char ch)方法
具體可查閱api。

轉換實例

1基本類型向類類型轉換

正向轉換:經過類包裝器來new出一個新的類類型的變量
Integer a= new Integer(2);
反向轉換:經過類包裝器來轉換
int b=a.intValue();

經過類包裝器——>基本數據類型
eg1:int i=Integer.parseInt(「123」)
說明:此方法只能適用於字符串轉化成整型變量
eg2: float f=Float.valueOf(「123」).floatValue()
說明:上例是將一個字符串轉化成一個Float對象,而後再調用這個對象的floatValue()方法返回其對應的float數值。
eg3: boolean b=Boolean.valueOf(「123」).booleanValue()
說明:上例是將一個字符串轉化成一個Boolean對象,而後再調用這個對象的booleanValue()方法返回其對應的boolean數值。
eg4:double d=Double.valueOf(「123」).doubleValue()
說明:上例是將一個字符串轉化成一個Double對象,而後再調用這個對象的doubleValue()方法返回其對應的double數值。
eg5: long l=Long.valueOf(「123」).longValue()
說明:上例是將一個字符串轉化成一個Long對象,而後再調用這個對象的longValue()方法返回其對應的long數值。
eg6: char=Character.valueOf(「123」).charValue()
說明:上例是將一個字符串轉化成一個Character對象,而後再調用這個對象的charValue()方法返回其對應的char數值。

2基本類型向字符串的轉換
正向轉換:
以下:
System.out.println(""+2+3);// 「""」把2轉成字符串操做;
System.out.println(2+3);   // 不存在轉換。
System.out.println(2+3+"");// 前兩個數值相加後,被「""」轉成字符串。
System.out.println(2+""+3);// 同第一個。

輸出顯示爲:23,5,5,23

3類類型向字符串轉換

正向轉換:由於每一個類都是object類的子類,而全部的object類都有一個toString()函數,因此經過toString()函數來轉換便可 反向轉換:經過類包裝器new出一個新的類類型的變量 eg1: int i=Integer.valueOf(「123」).intValue() 說明:上例是將一個字符串轉化成一個Integer對象,而後再調用這個對象的intValue()方法返回其對應的int數值。 eg2: float f=Float.valueOf(「123」).floatValue() 說明:上例是將一個字符串轉化成一個Float對象,而後再調用這個對象的floatValue()方法返回其對應的float數值。 eg3: boolean b=Boolean.valueOf(「123」).booleanValue() 說明:上例是將一個字符串轉化成一個Boolean對象,而後再調用這個對象的booleanValue()方法返回其對應的boolean數值。 eg4:double d=Double.valueOf(「123」).doubleValue() 說明:上例是將一個字符串轉化成一個Double對象,而後再調用這個對象的doubleValue()方法返回其對應的double數值。 eg5: long l=Long.valueOf(「123」).longValue() 說明:上例是將一個字符串轉化成一個Long對象,而後再調用這個對象的longValue()方法返回其對應的long數值。 eg6: char=Character.valueOf(「123」).charValue() 說明:上例是將一個字符串轉化成一個Character對象,而後再調用這個對象的charValue()方法返回其對應的char數值。

相關文章
相關標籤/搜索