Java中基本数据类型之间的转换(显式转换和隐式转换)

在java中我们经常会遇到要把一种数据类型转换为另一种数据类型。所以我们今天就来复习一下java基本数据类型之间的转换。

首先我们可以先来看这么一张图:

Java中基本数据类型之间的转换(显式转换和隐式转换)_第1张图片 基本数据类型之间的转换

隐式转换:从表示范围小的类型转换为表示范围大的类型,可以直接转换,称为隐式转换。

隐式类型转换又可以成为自动类型转换,就是由系统自动完成的类型转换。

例:short x = 5;
        int y = x;

因为int可以存储的范围要比short存储的范围大,所以short类型可以直接转换成int类型。

显式转换:从表示范围大的类型转换为表示范围小的类型,需要强制转换,称为显式转换。

强制类型转换的语法格式就是加一个括号,然后给出想要转换的目标类型。

例:double x = 9.876;
        int y = (int)x;

这个时候y的结果为9。因为强制类型转换是通过截断小数点部分从而将浮点型转换为整型。

注:如果我们想对浮点数进行舍入运算的话,我们可以用Math.round的方法。

例:double x = 9.876;
       int y = (int)Math.round(x);

这个时候y的结果就为10。因为round方法返回的结果为long类型,由于会存在信息丢失的可能性,所以只有使用显示的强制类型转换才能够将long类型转换成int类型。

补充:数值类型和boolean类型之间不能转换;

你可能感兴趣的:(java基础)