数据类型转换


自动类型转换: 容量小的类型自动转化为容量大的数据类型,数据类型按容量大小排序为:
char/byte/shor→int→long→float→double
有多种类型的数据混合运算时,系统首先自动把所有数据转化成容量最大的那种数据类型,然后再进行计算。
byte,shor,char,之间不会相互转换,他们三者计算时会首先转换为int类型.
当把任何基本类型的值和字符串值进行连接运算时(+),基本类型的值将自动转化为字符串类型.

char类型计算时 会转化为ASCII码进行计算
如果是字符串的话 就成字符串了

String str = "abc";
int i = 1;
String str0 = "l"+1+2+3;
System.out.println(str0)
//输出结果就是l123
System.out.println(3+4+"hello");
//分步计算,从左往右 7 hello
//如果有一列的+的运算的时候,如果某个部分包含有字符串,那么这个字符串前面挨着的+开始一直往后字符串去拼接看
String str1 = 1+3+5+"a"+2+6;
System.out.println(str1);
//9a26

强制类型转换

自动转换的逆过程,将大容量的数据类型转换为容量小的数据类型,使用时要加上强制转换符(()) 但可能会造成精度降低或溢出,格外要注意。
通常,字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可以实现把字符串转换为基本类型。
如: String a ="43";int i = integer.parselnt(a);
boolean类型不可转化为其他数据类型.

byte b=9;
int i=b;
//以上两行属于正常的隐式转换
int k =7;
byte b0 = (byte)k;//强制转换类型