我们知道基本数据类型的取值范围是不同的,有些小伙伴想对它们之间进行相互的转换。这里我们要先选择一种转换的类型,是自动还是强制,还要考虑转换之间的大小问题。接下来我们先对转换类型进行了解,然后就两种不同的类型分别阐释,下面我们看看是如何转换的吧。
1.转换类型
自动转换(隐式):无需任何操作。
强制转换(显式):需使用转换操作符(type)。
将6种数据类型按下面顺序排列一下:
double > float > long > int > short > byte
如果从小转换到大,那么可以直接转换,而从大到小,或char 和其他6种数据类型转换,则必须使用强制转换。
2.自动类型转换
自动转换时发生扩宽(widening conversion)。因为较大的类型(如int)要保存较小的类型(如byte),内存总是足够的,不需要强制转换。如果将字面值保存到byte、short、char、long的时候,也会自动进行类型转换。
longl=100; inti=200; longll=i;
3.强制类型转换
如果要把大的转成小的,或者在short与char之间进行转换,就必须强制转换,也被称作缩小转换(narrowing conversion),因为必须显式地使数值更小以适应目标类型。
shorts=199; inti=s;//199 doubled=10.24; longll=(long)d;//10
以上就是java中基本数据类型的两种转换方法了。对于强制转换的使用条件大家一定要牢记,不然错用了自动类型的转换。
原文来自:https://www.py.cn
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容