Java基本數據類型之間的相互轉換詳解

今天主要學習的是Java基本數據類型之間的轉換以及String類型與基本數據類型之間的轉換

1.自動類型轉換

1.定義

Java程序在進行賦值或運算時,自動將精度小的轉換成精度大的。

2.數據類型按精度大小排序

char —> int —> long —> float —> double

byte —> short —> int —> long —> float —> double

3.使用細節

  • 當有多種數據混合運算時,系統首先自動將所有數據轉換成容量最大的數據類型,再進行計算。
  • 當把精度大到數據類型賦給精度小的會報錯。註意在進行數值賦值時,先判斷是否在該小精度數據類型范圍內,如果是就可以,如果是進行變量賦值,就不行。
  • byte,short和char之間不能相互自動轉換。
  • byte,short和char三者可以計算,計算時轉換成為int類型。
  • boolean類型不參與轉換。
  • 自動提升原則:表達式結果的類型自動轉換成操作數中最大的類型。

2.強制類型轉換

1.定義

自動類型轉換的逆過程,將容量大的數據類型裝換成容量小的數據類型。使用時要加上強制轉換符,但可能造成精度降低或溢出。

2.使用細節

強制類型轉換隻對最近的操作數有效,往往會使用小括號提升優先級。

char類型可以保存int的常量值,但不能保存int的變量值,需要強轉。

public class ForceTest{
    public static void main(String []args){
      int x = (int)(10*3.5+6*1.5);//正確
      int y = (int)10*3.5+6*1.5;//報錯
    }
}

3.基本數據類型與String類型的轉換

1.基本數據類型轉String類型

將本類型的值 + “” 即可。

int n1 = 100; String str1 = n1 + "";

2.String類型轉基本數據類型

通過基本數據類型的包裝類調用parseXX函數即可,但要確保String類型能夠轉換成有效的數據,比如可以將"123"轉換,但不能將"hello"轉換成一個整數,如果格式不對,就會拋出異常,終止程序。

String Str1 = "345";
Integer.parseInt("123");
Double.parseDouble("123.5");
Float.parseFloat("123.3");
Short.parseShort("123");
Boolean.parseBoolean("true");
Long.parseLong("123456");
Byte.parseByte("12");
//將字符串轉換成字符型需要調用charAt(int a)函數
Str1.charAt(a);
//表示字符串中第a+1個字符 Str1.charAt(0)='3';

到此這篇關於Java基本數據類型之間的相互轉換詳解的文章就介紹到這瞭,更多相關Java數據類型轉換內容請搜索LevelAH以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持LevelAH!

推薦閱讀: