所謂強制類型轉換(CAST)是根據程序員的意志來進行類型變換的處理。若是隱式類型轉化沒法進行的場合,使用強制類型轉換。用「( )」包圍須要強制轉換的類型,而後將其放在須要轉換的變量以前。java
(変換したい型)変換元の変數;
【例3】強制轉換的例子。程序員
int x = 10; byte y = (byte)x;
將int類型的變量強制轉換爲byte類型,而後賦值給y。
若是是默認的隱式類型轉換是沒法將int類型轉換爲byte類型的。code
boolean類型之外的基本類型的變量能夠強制轉換爲其餘非boolean類型的基本類型的變量。無論是將變量強制轉換爲存儲區域更大的類型,仍是將變量轉換爲存儲區域更小的類型,都是能夠。將變量強制轉換爲存儲區域更大的時候,即便不進行強制轉換,隱式的類型變換也是能夠進行的。class
boolean類型沒法強制轉換爲其餘類型。
將變量轉換爲存儲領域強制轉換爲更窄的場合,待變換的數據可能發生溢出。變量
【例4】強制轉換數據溢出的實例。程序
public class ExVar1 { public static void main(String[] args) { short x = 257; byte y = (byte)x; //(1)強制轉換爲byte類型 System.out.println(y); //(2) } }
說明4
(1)將short類型的變量強制轉換爲byte類型,而後將byte類型變量賦值給y。
(2)用println方法打印變量y的值。byte類型的變量最多制定存儲一個字節的值(有符號,-128~127)。超過1個字節的數據被截斷(數據溢出)。由於這個緣由沒法獲得想要的結果。方法
強制轉換_數據溢出
運行結果4數據
D:\JAVA>javac ExVar1.java D:\JAVA>java ExVar1 1 D:\JAVA>
更新日:2012/02/18static