基本数据类型是指int(还有short、byte、long)、float、double、char、boolean类型,Java还提供了各自的封装 类Integer、Float、Double、Character、Boolean。基本数据类型之间可以很方便的进行转换。主要有以下的方法:
(一)、自动转换:
byte b=123;
char c=‘a’;
short s=b; //将byte转换为short
int i=b; //将char转换为long
flaot f=i; //将int转换为float
long lo=c; //将char转换为long
double d=lo; //将long转换为double
double d2=s; //将short转换为double
double d3=i; //将int转换为double
注意上面没有boolean类型的基本数据参与转换,这时因为Java规定boolean类型的基本数据不允许与其他类型的基本数据之间进行转换
将int类型及long类型转为浮点型时可能会发生精度损失。
(二)、手动强制类型转换:最常见的一种转换方式。例如:
double d =5.998;
int i=(int)d;
注意:Java强制类型转换时把占用空间大的类型转换为占用个空间小的类型时采取的方式是截断而不是四舍五入,因此这种转换方法也会发生精度损失,甚至得到的值会完全不同。
(三)、隐含强制转换:实际上在自动转换中就是Java实现了自动强制转换
常用的字符串String不是基本数据类型,而是一个类:java.lang.String。所以基本数据类型和String之间的转换不能直接进行,要用到基本数据类型的封装类。
(一)、将基本数据类型转换为字符串:
1、非静态转换方法:所有的封装类(包括非基本数据的封装类)都提供了一个toString()方法,该方法继承自Object类,并且在大多数类中实现 了重写。该方法无参数、非静态,其返回封装类对象中封装的值的字符串表示。因此,要想把基本数据类型的值转换为字符串,可以首先创建该值的封装类对象然后 调用所创建对象的toString方法。
int i=50;
System.ou.prinln(new Integer(i).toString); //输出"50"
2、静态转换方法:所有的封装类还提供了有参数的、静态的toString。这种方法和上面的区别在于它是静态的。
System.out.println(Integer.toString(50)); //输出"50"
(二)、将字符串转换为基本数据类型:
几乎每个封装类各自都提供了静态的parseXxx方法,用来将字符串转换为对应基本数据类型的值。
1、parseXxx方法以字符串为参数,返回对应基本类型的值,若字符串参数格式不正确,将抛出NumberFormatException异常。
2、当封装类对应的是四种整数类型的任何一种时,还能通过第二个参数指定字符串转换成的数值进制。
3、这里所说的Xxx代表基本数据类型的名称,例如Xxx为int型那么方法的全写就是parseInt
String s="125";
Integer.parseInt(s); //得到整数125
基本数据类型和字符串类型之间的转换
最新推荐文章于 2023-10-12 18:06:04 发布