2.8.2 强制类型转换
强制类型转换,又被称为造型,用于显式的转换一个数值的类型。在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出。
语法格式:
java
(type)var
运算符“()”中的type表示将值var想要转换成的目标数据类型。
【示例2-27】强制类型转换
java
double x = 3.14;
int nx = (int)x; // 值为3
char c = 'a';
int d = c + 1;
System.out.println(nx);
System.out.println(d);
System.out.println((char)d);
运行结果如图2-7所示。
图2-7 示例2-27运行效果图
当将一种类型强制转换成另一种类型,而又超出了目标类型的表数范围,就会被截断成为一个完全不同的值。
【示例2-28】强制类型转换特例
java
int x = 300;
byte bx = (byte)x; // 值为44
新手雷区
不能在布尔类型和任何数值类型之间做强制类型转换