# Casting 先定一些變數以供下範例使用 ``` byte b = 1; char c = 2; short s = 3; int i = 4; long l = 5; float f = 6; double d = 7; ``` ## Implicit Casting 能直接轉的, 像是 ```java long l = i; float f = i; ``` ## Explicit Casting 要顯示轉型, 因為你可能會失去一些數值, 像是 ```java int i = (int) l; ``` ## 轉為浮點數 整數都可以隱式轉為浮點數 float可以隱式轉為double ```java double d = f; ``` double要顯式轉為float ```java float f = (float) d; ``` ## 轉為整數 浮點數都要顯式轉為整數 ```java long i = (long) d; ``` 如果是一個較大的型別要轉為較小的型別, 需要顯式轉換 ```java int i = (int) l; ```