名侦探JAVA

类型转换是将一个值从一个类型改为另一种类型的过程。例如可以将string类型的数据“457”转换成数值型,也可以将任意类型的数据更改为string类型。

如果从低精度数据向高精度数据转换,则永远不会溢出,并且总会成功;如果把高精度数据向低精度数据类型转换,则该数据可能会丢失信息,或者失败。

数据转换有两种方式它们分别是隐式类型转换和显示类型转换。

一.隐式类型转换

隐式类型转换也称自动转换,它自动执行低级类型数据转换高级类型数据,程序员无需进行任何操作。下列基本数据类型会涉及数据转换,不包括逻辑类型和字符类型。这种类型按精度从低到高排列的顺序为byte

例如,可以将int型变量直接赋值给float型变量,此时int型变量将隐式转换成float型变量。代码如下:

int x=50; //声明int型变量x

float y=x; //将x赋值给y,y的值为50.0

隐形转换也要遵循一定的规则,来解决在什么情况下将哪种类型的数据转换成另一种类型的数据。以下图为隐形转换的规则

例题:使用隐形转换提升数值精度

名侦探JAVA_第1张图片

二.显示类型转换

当要把高精度类型转换成低精度类型时,必须使用显示类型转换(也称强制类型转换)运算。语法如下:

(类型名)要转换的值

例如将高精度转换成低精度的代码如下:

int a=(int)45.23; //此时输出a的值为45

long y=(long)54.25f; //此时输出y的值为54

int b=(int)'d'; //此时输出b的值为100

执行显式转换时,可能会损失精度。

你可能感兴趣的:(算法,java)