Skip to content
On this page

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所示。

1.png

图2-7 示例2-27运行效果图

当将一种类型强制转换成另一种类型,而又超出了目标类型的表数范围,就会被截断成为一个完全不同的值。

【示例2-28】强制类型转换特例

java
int x = 300;
byte bx = (byte)x; // 值为44

新手雷区

不能在布尔类型和任何数值类型之间做强制类型转换