Java 數(shù)據(jù)類型的自動轉換和強制轉換
自動轉換
自動轉換適用于低位數(shù)類型向高位數(shù)類型的轉換
規(guī)則:
-
對于算術運算按照下圖所示規(guī)則轉換
graph LR A[byte] --> B[short] B --> C[int] C --> D[long] D --> E[float] E --> F[double] G[char] --> C 對于賦值運算:當兩種類型兼容時(如整型和浮點型相互兼容),低位類型會自動向高位類型轉換
布爾類型不能和其他基本數(shù)據(jù)類型相互轉換
// 示例:
int x = 100;
long y = x; // 在賦值時int型自動轉換為long型
double z = x + y; // 在算術運算時int型先轉換為long型再運算,運算結果轉換為double型再賦值
強制轉換
強制轉換適用于高位類型向低位類型的轉換。
-
語法:用
()標注需要強制轉換成的類型// 示例: int x; x = (int)34.56 + (int)11.2; // x = 45,丟失精度 byte y = (byte)x;