Java程式在進行賦值或運算時,自動將精度小的轉換成精度大的。
char —> int —> long —> float —> double
## byte —> short —> int —> long —> float —> double
當有多種資料混合運算時,系統會先自動將所有資料轉換成容量最大的資料類型,然後再進行計算。
當精確度大到資料型別賦給精確度小的會報錯。注意在進行數值賦值時,先判斷是否在該小精度資料型態範圍內,如果是就可以,如果是進行變數賦值,就不行。
byte,short和char之間無法互相自動轉換。
byte,short和char三者可以計算,計算時轉換成為int型別。
boolean類型不參與轉換。
自動提升原則:表達式結果的型別會自動轉換成運算元中最大的型別。
#自動型別轉換的逆過程,將容量大的資料型別轉換成容量小的資料型態。使用時要加上強制轉換符,但可能造成精確度降低或溢出。
強制型別轉換只對最近的運算元有效,往往會使用小括號提升優先權。
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;//报错 } }
將本型別的值 “” 即可。
int n1 = 100; String str1 = n1 + "";
透過基本資料類型的包裝類別呼叫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基本資料型別之間怎麼互相轉換的詳細內容。更多資訊請關注PHP中文網其他相關文章!