Java基础之常量与变量(6)

数据类型转换
数据类型转换分为两种,一种是自动类型转换,一种是强制类型转换。
其实我们在前面也简单提起过自动类型转换(又叫做隐式类型转换),比如说我们可以把一个int类型转换成长整型lang。例如 lang n = 253; 这里的253是一个int类型的我们将它赋值给长整型n,其中就进行了自动类型转换,将int类型转换为了长整型。下图表明了自动类型转换的顺序,如果将箭头相反,就是我们的强制类型转换顺序了。


Java基础之常量与变量(6)
文章图片
自动类型转换顺序 那么强制类型转换也提到过,强制类型转换需要表示范围大小不同时,使用的到,比如说A类型的表示范围比B类型大,那么将A类型的值赋值给B类型就需要用到强制类型转换,比如说 char类型的最大存储为65535,如果超过他就需要强制类型转换,比如说 char ch = 65536;
【Java基础之常量与变量(6)】

Java基础之常量与变量(6)
文章图片
强制类型转换1 这在程序中是会报错的,我们需要在65536前面加一个(char)给他进行强制类型转化,这样就不会提示报错了(但是会引起数据丢失)。


Java基础之常量与变量(6)
文章图片
强制类型转换2 再看一个例子double d = 123.4;float f = (float)d; 这里因为 double的表示范围大于float所以将 double类型的变量d赋值给float类型的f时就需要进行强制类型转换。
那么强制类型转换的方法从上面的例子中就可以看出 , 强制数据类型转换的格式:(数据类型)数值。通过下面的例子来更详细的了解下数据类型转换。


Java基础之常量与变量(6)
文章图片


Java基础之常量与变量(6)
文章图片
注意看第二条语句,数据发生了丢失

    推荐阅读