怎么理解Java中的自动类型转换

参考答案

自动类型转换是指:数字表示范围小的数据类型可以自动转换成范围大的数据类型。

例如:

long l = 100;

int i = 200;
long ll = i;

自动类型转换图示:

怎么理解Java中的自动类型转换

其中,实线表示自动转换时不会造成数据丢失,虚线则可能会出现数据丢失问题。

自动转换也要小心数据溢出问题,例如:

int count = 100000000;
int price = 1999;
long totalPrice = count * price;

编译没有问题,但结果输出的是负数,这是因为两个 int 相乘得到的结果是 int,相乘的结果超出了 int 的代表范围。

这种情况,一般把第一个数据转换成范围大的数据类型,再和其他的数据进行运算。

int count = 100000000;
int price = 1999;
long totalPrice = (long) count * price;

另外,向下转换时可以直接将 int 常量字面量赋值给 byte、short、char 等数据类型,而不需要强制转换,只要该常量值不超过该类型的表示范围都能自动转换。

以上,是Java面试题【怎么理解Java中的自动类型转换】的参考答案。

相关面试题:

怎么理解Java中的强制类型转换

怎么理解Java中的类型提升

输出,是最好的学习方法

欢迎在评论区留下你的问题、笔记或知识点补充~

—end—

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧