文章 > java基础 > java基础:基本类型如何转换?

java基础:基本类型如何转换?

头像

小妮浅浅

2020-12-22 17:14:472831浏览 · 0收藏 · 0评论

我们知道基本数据类型的取值范围是不同的,有些小伙伴想对它们之间进行相互的转换。这里我们要先选择一种转换的类型,是自动还是强制,还要考虑转换之间的大小问题。接下来我们先对转换类型进行了解,然后就两种不同的类型分别阐释,下面我们看看是如何转换的吧。

1.转换类型

自动转换(隐式):无需任何操作。

强制转换(显式):需使用转换操作符(type)。

将6种数据类型按下面顺序排列一下:

double > float > long > int > short > byte

如果从小转换到大,那么可以直接转换,而从大到小,或char 和其他6种数据类型转换,则必须使用强制转换。

2.自动类型转换

自动转换时发生扩宽(widening conversion)。因为较大的类型(如int)要保存较小的类型(如byte),内存总是足够的,不需要强制转换。如果将字面值保存到byte、short、char、long的时候,也会自动进行类型转换。

long l = 100;
 
int i = 200;
long ll = i;

3.强制类型转换

如果要把大的转成小的,或者在short与char之间进行转换,就必须强制转换,也被称作缩小转换(narrowing conversion),因为必须显式地使数值更小以适应目标类型。

short s = 199;
int i = s;// 199
 
double d = 10.24;
long ll = (long) d;// 10

以上就是java中基本数据类型的两种转换方法了。对于强制转换的使用条件大家一定要牢记,不然错用了自动类型的转换。


关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!