数据类型的自动转换
数据类型要想要完成自动转换是要满足两个条件:
1、转换前后数据类型兼容;
2、转换后的数据类型比转换前的数据类型表示范围大。
如果不满足这些条件,想要完成转换就要进行数据之间的强制转换。数据类型的自动转换一般发生在运算过程中,较短的数据会自动转换成较长的数据。
Java中的数据类型能完成自动转换的总共有七类:(数据类型共有八种,但因boolean的值只有false和true两种,与其他数据类型不兼容,因此无法与其他的数据类型之间完成转换)按照转换优先级由低到高依次是byte,short,char,int,long,float,double。
float a=3.2f;
int b=4;
System.out.println("a/b="+(a/b));
输出结果:a/b=0.8
可以看到结果自动转换为范围较大的float类型。
注意:字符串(String)可以与Java中的八种数据类型完成自动转换,都将它们转换为字符串型的。当然,字符串也可以转换成这八种类型,只不过要进行手动转换。
int a=1;
float b=2.3f;
double c=4.5;
boolean d=true;
String s="qwq"+a+b+c+d;
System.out.println("s+a+b+c+d="+s);
输出结果为:s+a+b+c+d=qwq12.34.5true