参考答案
自动类型转换是指:数字表示范围小的数据类型可以自动转换成范围大的数据类型。
例如:
long l = 100; int i = 200; long ll = i;
自动类型转换图示:
其中,实线表示自动转换时不会造成数据丢失,虚线则可能会出现数据丢失问题。
自动转换也要小心数据溢出问题,例如:
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中的自动类型转换】的参考答案。
相关面试题:
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—