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!
推薦閱讀:
- Java基本數據類型族譜與易錯點梳理解析
- Java八種基本變量作為類的成員變量的默認值操作
- java數據類型和運算符的深入講解
- Java基礎-Java基本數據類型
- java Wrapper類基本用法詳解