Java各数据类型之间的转化
1、Java中的基本数据类型。
boolean ——1/8字节(1 bit) byte —— 1字节 char —— 2字节 short —— 2字节
int —— 4字节 long —— 8字节 float —— 4字节 double —— 8字节
在Java中整型、实型、字符型被视为简单数据类型,这些类型由低级到高级分别为(byte,short,char)--int--long--float--double
2.Java数据类型的转换一般分三种,分别是:
(1). 简单数据类型之间的转换
(2). 字符串与其它数据类型的转换
(3). 其它实用数据类型转换
●具体转化
一.简单数据类型的转化
●低级到高级的自动类型转换
●高级到低级的强制类型转换
●包装类过渡类型能够转换
1)低级到高级的自动类型转换
低级变量可以直接转换为高级变量:
●如低级类型为char型,向高级类型(整型)转换时,会转换为对应ASCII码值,例如:
char c='c'; int i=c; System.out.println("output:" i);
输出:output:99;
2)高级到低级的强制类型转换
● 将高级变量转换为低级变量时,可以使用强制类型转换。即必须采用下面这种语句格式:
int i=99; byte b=(byte)i; char c=(char)i; float f=(float)i;
这种转换肯定可能会导致溢出或精度的下降,因此笔者并不推荐使用这种转换。
●对于byte,short,char三种类型而言,他们是平级的,因此不能相互自动转换,可以使用下述的强制类型转换。
short i=99; char c=(char)i; System.out.println("output:" c);
输出:output:c;
但根据笔者的经验,byte,short,int三种类型都是整型,因此如果操作整型数据时,最好统一使用int型。
3)包装类过渡类型能够转换
利用包装类进行中间过渡,首先声明一个变量,然后生成一个对应的包装类,就可以利用包装类的各种方法进行类型转换了。例如:
float型转换为double型:
float f1=100.00f;
Float F1=new Float(f1);
double d1=F1.doubleValue();
int型转换为double型时,自动转换:
int i1=200;
double d1=i1;
简单类型的变量转换为相应的包装类,可以利用包装类的构造函数。即:Integer i = new Integer(10);
而在各个包装类中,总有形为××Value()的方法,来得到其对应的简单类型数据。利用这种方法,也可以实现不同数值型变量间的转换。
二.字符串型与其它数据类型的转换
(1).其它类型向字符串的转换
①调用类的串转换方法:X.toString();
②自动转化:X+"";
③使用String的方法:String.valueOf(X);
(2).字符串向其它类型转换
①先转换成相应的封装器实例,在调用对应的方法转化成其它类型
例如:字符串中"32.1"转化成double型的值格式为:new Float("32.1").doubleValue().
②静态parseXXX方法
String str = "1";
short t = Short.parseShort(str);
long l = Long.parseLong(str);
③Character的getNUmericValue(char ch)方法
三.其它实用数据类型转换