Java資料類型之間的轉換),java資料類型轉換

來源:互聯網
上載者:User

Java資料類型之間的轉換(轉),java資料類型轉換

這是我寫的第一篇筆記,自己會不定時更新內容中有問題的地方,也希望大家多多指正.共同進步!

一 基本的資料類型

基本的資料類型有一下四種:

  1> int 長度資料類型有: byte(8bits),short(16btis), int(32bits) ,long(64bits);

  2>float 長度資料類型有:單精確度(32bits float) ,雙精確度(64bits double) ,Java中將小數預設為double類型,若要定義為float需要在後面用f聲明;

  3>boolean 類型變數的取值有:ture, false;

  4>char資料類型有:unicode字元,16位

基礎資料型別 (Elementary Data Type):int,float,boolean,char,double,short,byte,long,

對應的封裝類型:Integer,Float,Boolean,Character,Double,Short,Byte,Long

 二 資料類型之間的轉換情況

分為以下幾情況:

  1> 低級到進階的自動升級類型轉換;

  2> 進階到低級的強制類型轉換(會導致溢出或者丟失精度);

  3> 基本類型向類類型(封裝類型)轉換;

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

  5> 類類型向字串轉換;

三 基礎資料型別 (Elementary Data Type)之間的轉換規則

  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三種類型而言,他們是平級的,因此不能相互自動轉換,可以使用下述的強制類型轉換.

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

  5.不同層級資料類型間的強制轉換,可能會導致溢出或精度的下降.

  6.當位元組類型變數參與運算,Java作自動資料運算類型的提升,將其轉換為int類型.如:

  int b7 =5;
  byte b8= (byte) ((byte)b7*3);

  四.封裝資料類型與基礎資料型別 (Elementary Data Type)之間的轉換

  簡單類型的變數轉換為相應的封裝類,可以利用封裝類的建構函式.

  Boolean(boolean value) , Character(char value),Integer(int value),Long(long value),Float(float value),Double(double value)

  而在各個封裝類中,總有形為xxValue()的方法,來得到其對應的簡單類型資料.利用這種方法,也可以實現不同數值型變數間的轉換,例如,對於一個雙精確度執行個體類,intValue()可以得到其對應的整型變數.

  1.字串與其他類型間的轉換

  1>其他類型向字串的轉換

    調用類的串轉換方法:X.toString();

    自動轉換:X+" " ;

    使用String的方法:String.valueOf(X);

  2>字串作為值,向其他類型的轉換

    先轉換成相應的封裝器執行個體,再調用對應的方法轉換成其他類型,如:double d = Double.valueOf(31.1);

    

    靜態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)---->把char類型的資料轉換成int類型

  五,轉換執行個體

  1.基本類型間的轉換

  正向轉換:通過類封裝器來new出一個新的類類型的變數

  Integer a = new Integer(2);

  反向轉換:通過類封裝器來轉換

  int b = a.intValue();

  通過類封裝器-->基礎資料型別 (Elementary Data Type)

  ps1:int i = Integer.parseInt("123");

  說明:此方法只能適用於字串轉化成整型變數

  ps2: float f = Float.valueOf("123").floatValue();

  說明:上例是講一個字串轉化成一個Float對象,然後再調用這個對象的floatValue()方法返回其對應的float數值.

  ps3: boolean b = Boolean.valueOf("123").booleanValue();

  說明:上例是將一個字串轉化成一個boolean對象,然後再調用這個對象的booleanValue()方法返回其對應的blooean數值.

  ps4:double d = Double.valueOf("123").doubleValue();

  說明:將一個字串轉換成一個double對象,然後再調用這個對象的doubleValue()方法返回其對應的double數值

  ps5: long l = Long.valueOf("123").longValue();

  說明:將一個字串轉換成一個long對象,然後再調用這個對象的longValue()方法返回其對應的long數值.

  ps6:char = Character.valueOf("123").cahrValue()

  說明:將一個字串轉換成一個Character對象,然後再調用這個對象的charValue()方法返回其對應的char數值.

  2 基本類型向字串的轉化

  正向轉換:

  System.out.println("1"+2+3);-->123 轉化成字串操作
  System.out.println(2+3);-->5  不存在轉化

  System.out.println(2+3+"1");-->51  前兩個數值相加後,拼接後面的字串

  3 類類型向字串轉換

  正向轉換:因為每個類都是object類的子類,而所有的object類都有一個toString()函數,所以通過toString()函數來轉換即可

  反向轉換:通過類封裝器new出一個新的類類型的變數

  int i = Integer.valueOf("123").intValue()

  float f = Float.valueOf("123").floatValue()

  boolean b = Boolean.valueOf("123").booleanValue()

  double d = Double.valueOf("123").doubleValue();

  long l = Long.valueOf("123").longValue()

  char c = Character.valueOf("123").charValue()

  說明:將一個字串轉化成一個Character對象,然後調用這個對象的charvalue()方法返回其對應的char數值

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.