自动类型转换
容量小的类型自动转换为容量大的数据类型。数据类型按容量大小排序为:
有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。
byte,short,char三者在计算时首先转换为int类型。
当把任何基本类型的值和字符串值进行连接运算时(+),基本类型的值将自动转化为字符串类型。
//自动类型转换:把小箱子(short)的内容放到大箱子(int)里,可以自动类型转换
short s1=100;
int num=s1;
System.out.println(num);
强制类型转换
将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(),但可能造成精度降低或溢出,要格外注意。
字符串转换为基本数据类型,需要通过基本类型对应的包装类提供的parseXXX方法。如: String a = “43”; int i = Integer.parseInt(");
boolean类型不可以转换为其它的数据类型。
需要转换成什么类型,变量前面就加上什么类型的关键字,比如:short s1=(short)num1;
//强制类型转换:把大箱子(int)里面的内容放到小箱子里面需要强制类型转换
int num1=20;
short s2=(short)num1;
System.out.println(s2);
几种常用的类型转换
1.String类型转换成int类型
//Integer是int的包装类,里面封装了parseInt(),把字符转成int
String str="123";
int num2=Integer.parseInt(str);//把string类型强制类型转化为int类型
System.out.println(num2);
转成什么类型就从什么类型里面找方法
2.int类型转换成String类型
共有两种方法
int num3=100;
String str1=String.valueOf(num3);//第一种转成String的方式
System.out.println(str1);
int num4=200;
String str2=num4+"";//第二种转换成String
System.out.println(num4);
3.double转换成int
double d1=12.12;//把小数转成int
int num4=(int)d1;//int num4=d1/1;
System.out.println(num4);
4.String转换成double
String str1="123.12";
double d3=Double.parseDouble(str1);
System.out.println(d3);
注意:布尔类型不能转换成其他类型