要点
类型转换时将一个值从一种类型更改为另一种类型的过程。
从低精度数据类型向高精度数据类型转换,则永远不会溢出,并且总是成功的。
而把高精度数据类型向低精度数据类型转换则必然会有信息丢失,有可能失败。
数据类型转换有两种方式,隐式类型转换和显式类型转换。
隐式类型转换
从低级类型向高级类型的转换,系统将自动执行,程序员无需进行任何操作,这种类型的转换称为隐式转换。
当然不包括逻辑类型和字符类型,基本数据类型按精度从低到高排列为byte<short<int<long<float<double。
显式类型转换
当把高精度的变量值赋值给低精度的变量时,必须使用显示类型转换(又称强制类型转换)。
代码示例
PS:以下代码中(//、/*这两个符号代表注释)
public class test{ //创建类
public static void main(String[] args){ //主方法
int number1 = 1; //声明int型变量并赋值为1
float number2 = number1; //声明float型变量并赋值为number1 这里用到了隐式类型转换
int number3 = (int)12.34; //这里用到了显式类型转换,输出值为12
}
}
PS:当把整数做类型转换的时候,可以超出要转换类型的取值范围,必须进行强制类型转换。(如:byte b = (byte)129;这里byte等于-127,具体原因,请自行百度理解)