自动数据类型转换
自动转换按从低到高的顺序转换。不同类型数据间的优先关系如下:
低———————————————>高
byte,short,char-> int -> long -> float -> double
运算中,不同类型的数据先转化为同一类型,然后进行运算,转换规则如下:
强制数据类型转换
强制转换的格式是在需要转型的数据前加上“( )”,然后在括号内加入需要转化的数据类型。有的数据经过转型运算后,精度会丢失,而有的会更加精确。
下面的例子可以说明这个问题。
public class Demo {
public static void main(String[] args) {
int x;
double y;
x = (int) 34.56 + (int) 11.2; // 丢失精度
y = (double) x + (double) 10 + 1; // 提高精度
System.out.println("x=" + x);
System.out.println("y=" + y);
}
}
运行结果:
x=45
y=56.0