Java中的数据类型的转换方式
数据类型转换是将一个值从一种类型更该为另一种类型的过程。例如可以将String类型的数据456转换为一个数值型,而且可以将任意类型的数据转换为String类型。
如果胸低精度数据类型向高精度数据类型转换,则永远不会溢出,并且总是成功的;而把高精度类型向低精度数据类型转换则必然有信息丢失,有可能失败。
数据类型转换有两种方式,分别是隐式转换和显式转换。
隐式类型转换:
第一种是隐式类型转换,隐式类型转换就是从低级类型向高级类型的转换无需进行任何操作,系统将自动执行。这种类型转换称为隐式转换下列基本数据类型会涉及数据转换,其中不包括逻辑类型和字符类型。这些类型按照精度划分从低到高的顺序为:
byte<short<int<long<float<double
示例:
int x = 100;
float y = x;
输出 y的值为100.0
隐式类型转换需要遵守一定的规则,来解决在什么情况下将哪种类型的数据转换成另一种类型的数据。
隐式类型转换的一般规则见下图:
显示类型转换:
第二种就是显示类型转换,也称显示类型转换为强制类型转换。当把高精度的变量的值赋给低精度的变量时则必须使用显示类型转换。当执行显示类型转换时可能会导致精度消失
语法如下
:
(
类型名)要转换的值
示例:
int a = (int)45.23;
long b = (long)45.6f;
int c = (int)‘d’;
输出结果 a=45;
b=45;
c=100;
注意:
当把整数赋值给一个byte short int long 类型的变量时,不可以超出这些类型的取值范围,否则必须进项强制类型转换。如:
byte a = (byte)129;