所谓强制类型转换(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