类型转换的基本原则是取值范围由小向大转换,即有
byte-->short-->int-->long-->float-->double
char -->
注意:
i. char与byte、short不存在子集关系所以不能自动转换
ii. 其他都可以直接自动转换
iii. boolean类型不参与类型转换
1.自动类型转换 byte a=10; int b = a; //没问题可以自动转换 2.强制类型转换 int b=10; byte a=(byte)b; //大范围转小范围必须使用强制转换 3.short tybe定义 byte a=127; //在范围内直接 short b = (short)36666; //超出short的范围了默认是int必须使用强制转换 4.char与short byte 之间必须使用强制转换 byte a=99; char b = (char)a; 5.在计算过程中,会自动向高类型转换 int a=5; double b=3.69; float c = (float)ab; //ab结果已经是double类型,所以需要强制转换 6.byte short char之间的运算,底层都会转换为int类型 byte a=10; char b=’a’; short c=(short)a*b; //不管是否存在子集,在运算过程中编译器已经把全部数值都转换为int类型。 7.字符串和任何类型进行加法运算都是进行拼接操作的,在JavaScript中可以进行其他运算。 System.out.println(2 + 2 + “22” + 2 + 2); //输出结果为42222;字符前是常量运算,编译器自动运算,后面都是从左向右进行拼接操作。