基本概述:
1.当java程序在进行赋值或运算时,精度小的类型自动转换为精度(容量)大的数据类型,这个就是自动类型转换。
2. 数据类型按精度大小排序为:
(1)char——>int——>long——>float——>double
(2)byte——>short——>int——>long——>float——>double
public class autoConvert {
public static void main(String[] args) {
int num = 'a';
double d1 = 80;
System.out.println(num); // 97
System.out.println(d1); // 80.0
}
}
注意事项:
1.有多种类型的数据混合运算时,系统首先将所有数据转换成容量最大的那种数据类型,然后再进行计算。
2.当我们把精度(容量)大的数据类型赋值给精度(容量)小的数据类型,就会报错,反之则自动转换。
3.(byte,short)和char之间不会相互自动转换
4.byte,short,char它们三者可以计算,在计算时
5.boolean不参与转换
6.自动提升原则:表达式结果的类型自动提升为操作数中最大的类型
public class autoConvert {
public static void main(String[] args) {
int n1 = 10;
// float d1 = n1 + 1.1; error, result is double, but type is float
float d1 = n1 + 1.1F;
double d2 = n1 + 1.1;
System.out.println(d1);
System.out.println(d2);
byte = 10;
}
}