八种数据类型除了布尔类型以外都可以相互的转换。
1.自动类型转换
基本数据类型在计算的时候都会向数值范围大的方向转换
byte(1个字节)----short(两个字节)----int(4个字节) ----long(8个字节)----float(4个字节)----double(8个字节)
- 所有的byte类型和short类型和char值运算的时候都会提供成int类型。
- 如果计算中一个操作数据类型是long,另一个数的空间小于等于long,那么结果就是long
- 如果计算中一个操作数据类型是float,另一个数的空间小于等于float,那么结果就是float
- 如果计算中一个操作数据类型是double,另一个数的空间小于等于double,那么结果就是double
2.强制转换
当大容量类型的变量向小容量的类型去转换需要强制转换。
语法:(目标类型)值
//在java程序中同一个范围内变量名字不能重复
int a= 97;
//把int类型的数据强制转换成byte
byte b= (byte)a;
//把int类型的数据强制转换成short
short c= (short)a;
//把int类型的数据强制转换成char
3.String转换成int
String str = "123";
try {
int a = Integer.parseInt(str);
} catch (NumberFormatException e) {
e.printStackTrace();
}
这里主要是使用integer.parseint方法,在转换过程中需要注意,因为字符串中可能会出现非数字的情况,所以在转换的时候需要捕捉处理异常