自动类型提升
自动类型转换(只涉及7种基本数据类型)
byte、char、short、int、long、float、double
定义:
当容量小的的数据类型的变量与容量大的数据类型做运算时,结果自动提升为容量大的数据。
byte、char、short变量做运算时,结果为int
图示:
代码演示:
System.out.println(a + b);//13254 System.out.println(a + b);//136.13
结论:
从上代码可以看出int跟long跟float做运算时会默认提升成为容量大的变量这就是自动类型提升。
强制类型转换(只涉及7种基本数据类型):
定义:
他是自动类型的逆运算,需要使用强转符“()”,有精度损失。
代码演示:
public static void main(String[] args){
double a = 12.3;
int b = (int)a;
System.out.println(b);//12
}
这就是出现了精度损失。
String与8种基本数据类型间的运算
定义:
String用于应用数据类型,声明String类型变量时实用一对“”,可以跟8种基本类型做运算,运算只能是链接运算:+,最终运算是String类型。
代码演示:
public static void main(String[] args){
int a = 1;
String b = "-v-";
System.out.println(a + b);//1-v-
}