1.是什么
强制类型转换(也称为显式类型转换)在Java中是一种编程技术,它允许程序员将一种数据类型的变量转换为另一种数据类型的变量,即使这两种类型在Java的类型层次结构中不是直接兼容的。
强制类型转换通常用于以下几种情况:
1.将一个较大数据类型的变量转换为较小数据类型的变量。
解释:
例子 ①:将long
转换为int
long longValue = 1234567890123L;
int intValue = (int) longValue/强制类型转换,可能会丢失数据
例子 ②:将double转换为float
double doubleValue = 1234567890123.456789;
float floatValue = (float) doubleValue/强制类型转换,可能会丢失精度
2.将一个基本数据类型转换为另一种基本数据类型,而两者之间没有直接的自动转换路径。
(1)从int
转换为char
例子 :
int intValue = 65;//'A'的 Unicode 值是 65
char charValue = (char) intValue/强制类型转换,将整数值转换为字符
注意:这里,整数值65被转换为其对应的字符'A'
。
(2)从char
转换为byte
或short
char charValue = 'A'; // 'A'的Unicode值是65
byte byteValue = (byte) charValue; // 强制转换,结果是65
short shortValue = (short) charValue; // 强制转换,结果是65
(3)从byte
或short
转换为char
byte byteValue = 65;
char charValue = (char) byteValue; // 强制转换,结果是字符'A'
short shortValue = 65;
char charValue = (char) shortValue; // 强制转换,结果是字符'A'
2.强制类型转换的细节
(1)当进行数据的大小从 大——>小,就需要使用到强制转换
(2)强转符号只针对于最近的操作数有效,往往会使用小括号提升优先级
解释:
//注释部分是错误代码,蓝色框内才是正确代码(蓝色框内的代码才能实现强制类型转换)
(3)byte和short类型在进行运算时,当做int类型处理。
解释:自动类型转换!!!
好啦,本期内容就结束啦,小伙伴们还知道哪些细节呢?可以留言在评论区留言喔