自动类型转换:当java程序在进行赋值或运算时,容量小的类型自动转换为容量大的数据类型。
数据类型容量大小排序:
char---->int---->long---->float------>double
byte----->short------>int----->long----->float----->double
比如 int a='c' //对, char类型可以转换成int类型
细节:1.char不与byte和short相互转换。
2.byte,char,short他们三者之间可以相互计算,在计算时它们转换为int类型。
3.boolean不参与自动类型转换。
4.表达式结果的类型为操作数中容量最大的类型。
强制类型转换:自动类型转换的逆过程,将容量大的数据类型强制转换为容量小的数据类型,使用时要加上强制转换符(),
但可能造成精度降低或溢出,要格外注意。
比如 int i=(int)1.9 //结果为1 造成精度损失。
基本数据类型和String类型的转换:
基本数据类型转换为String类: 将基本类型的值+“”即可。
比如:int n1=10;
float n2=1.1f;
String str1=n1 + "";
String str2=n2 + "";
String类型转换成基本数据类型:通过基本类型的包装类调用parseXX方法即可。
比如 Integer.paraseInt("123");
Double.paraseDouble("123.1");
Boolean.paraseBoolean("true");
注意:在String类型转换为基本数据类型时,要确保String类型能够转换成有效的数据。
比如可以把字符串123转换成int类123,但是不能把字符串Hello转换成int类型。