八种基本数据类型:byte、short、int、long、float、double、char、boolean
boolean类型不能与数值间相互转化
数值与数值之间的相互转化:
在程序运行的时候,我们经常需要将一种数值类型转化为另一种数值类型,下图给出了合法转化:
虚线代表转化可能会出现精度丢失。
上面是小类型转为大类型,大类型自然而然可以装下小类型。而想把int转为byte时,也就是大类型转为小类型时就需要强转了。例:(数值运算有自动提升机制会把类型变为默认的int类型,想转回来就需要强转)
int a=10;
byte c=(byte) a;//新数据类型 名称=(新数据类型)原数据名
强制转换可能会产生数据丢失。
对应的包装类分别为:
byte | short | int | long | float | double | char | boolean |
Byte | Short | Integer | Long | Float | Double | Character | Boolean |
基本数据类型变为其对应的包装类需要装箱,java可以自动装箱
包装类转换为对应的基本数据类型需要拆箱,java可以自动拆箱
我们以int、Integer、String为例,写出他们三者之间转化的语句;
1)int=>Integer Integer a=new Integer(primitive);/Integer a=primitive(自动装箱写法)
2)Integer=>int int a = Integer对象.xxxValue();/int a=对象名(自动拆箱)
3)Integer=>String String str = Integer对象名.toString();强转
4)String=>Integer Integer a = new Integer(String str);强转
5)int=>String String str = String.valueOf(primitive);装箱
6)String=>int int a = Integer.parsexxx(str);拆箱