自动类型转换:当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类型。