您的位置:首页 > 编程语言 > Java开发

Java数据类型的互相转换

2012-01-10 04:30 337 查看
java的数据类型分为三大类,即布尔型、字符型和数值型,而其中数值型又分为整型和浮点型;相对于数据类型,
java的变量类型为布尔型boolean;字符型char;整型byte、short、int、long;浮点型float、double。其中四种整型变量和两种浮点型变量分别对应于不同的精度和范围。此外,我们还经常用到两种类变量,即string和date。
byte,short,char三种类型而言,他们是平级的,因此不能相互自动转换,可以使用下述的强制类型转换。
short i=99;char c=(char)i;
java共有六个包装类,分别是boolean、character、integer、long、float和double,从字面上我们就可以看出它们分别对应于 boolean、char、int、long、float和double。而string和date本身就是类。所以也就不存在什么包装类的概念了。在进行简单数据类型之间的转换(自动转换或强制转换)时,我们总是可以利用包装类进行中间过渡。
float f1=100.00f; float f1=new float(f1); double d1=f1.doublevalue();
字符串型与其它数据类型的转换通过查阅类库中各个类提供的成员方法可以看到,几乎从java.lang.object类派生的所有类提供了tostring()方法,即将该类转换为字符串。
附:api中string是final。所以无法被继承
int-->short
exp:shortshortvar=0;
intintvar=0;
shortvar=(short)intvar
short-->int
exp:shortshortvar=0;
intintvar=0;
intvar=shortvar;
int(float)(double)->string
exp:intintvar=1;
stringstringvar;
stringvar=string.valueof(intvar);
char->string
expcharcharvar=’a’;
stringstringvar;
stringvar=string.valueof(charvar);
string->int、float、long、double
expstringintstring=”10”;
stringfloatstring=”10.1f”;
stringlongstring=”99999999”;
stringdoublestring=”99999999.9”;
inti=integer.parseint(intstring);
floatf=integer.parseint(floatstring);
longlo=long.parseint(longstring);
doubled=double.parseint(doublestring);
string->byte、short
expstrings=”0”;
byteb=integer.intvalue(s);
shortsh=integer.intvalue(s);
string->char
expstrings=”abc”;
chara=s.charat(0);
返回字符a
string-->boolean
strings=”true”;
booleanflag=boolean.valueof(“s”);
tostring
integer
1如何将字串 string 转换成整数 int? a. 有两个方法:1). int i = integer.parseint([string]); 或
i = integer.parseint([string],[int radix]);2). int i = integer.valueof(my_str).intvalue(); 注: 字串转成 double, float, long 的方法大同小异.
2 如何将整数 int 转换成字串 string ?
a. 有叁种方法:1.) string s = string.valueof(i);2.) string s = integer.tostring(i); 3.) string s = "" + i; 注: double, float, long 转成字串的方法大同小异. java数据类型转换ynniebo [收藏]
关键字类型转换
出处
这是一个例子,说的是java中数据数型的转换.供大家学习引package cn.com.lwkj.erts.register;
import java.sql.date;
public class typechange {
public typechange() {
}
//change the string type to the int type
public staticint stringtoint(string intstr)
{
integer integer;
integer = integer.valueof(intstr);
return integer.intvalue();
}
//change int type to the string type
public static string inttostring(int value)
{
integer integer = new integer(value);
return integer.tostring();
}
//change the string type to the float type
public staticfloat stringtofloat(string floatstr)
{
float floatee;
floatee = float.valueof(floatstr);
return floatee.floatvalue();
}
//change the float type to the string type
public static string floattostring(float value)
{
float floatee = new float(value);
return floatee.tostring();
}
//change the string type to the sqldate type
public static java.sql.date stringtodate(string datestr)
{
returnjava.sql.date.valueof(datestr);
}
//change the sqldate type to the string type
public static string datetostring(java.sql.date datee)
{
return datee.tostring();
}public static void main(string[] args)
{
java.sql.date day ;
day = typechange.stringtodate("2003-11-3");
string strday = typechange.datetostring(day);
system.out.println(strday);
}
}
java中常用数据类型转换函数
虽然都能在java api中找到,整理一下做个备份。string->byte
byte static byte parsebyte(string s)byte->string
byte static string tostring(byte b) char->string
character static string to string (char c) string->short
short static short parseshort(string s) short->string
short static string tostring(short s) string->integer
integer static int parseint(string s)integer->string
integer static string tostring(int i) string->long
long static long parselong(string s) long->string
long static string tostring(long i) string->float
float static float parsefloat(string s) float->string
float static string tostring(float f) string->double
double static double parsedouble(string s)double->string
double static string tostring(double)
++++++++++++++++++++++++++++++++++++++++++++++++++++++
数据类型
基本类型有以下四种:
int长度数据类型有:byte(8bits)、short(16bits)、int(32bits)、long(64bits)、
float长度数据类型有:单精度(32bits float)、双精度(64bits double)
boolean类型变量的取值有:ture、false
char数据类型有:unicode字符,16位
对应的类类型:integer、float、boolean、character、double、short、byte、long
转换原则
从低精度向高精度转换
byte 、short、int、long、float、double、char
注:两个char型运算时,自动转换为int型;当char与别的类型运算时,也会先自动转换为int型的,再做其它类型的自动转换
基本类型向类类型转换
正向转换:通过类包装器来new出一个新的类类型的变量
integer a= new integer(2);
反向转换:通过类包装器来转换
int b=a.intvalue();
类类型向字符串转换
正向转换:因为每个类都是object类的子类,而所有的object类都有一个tostring()函数,所以通过tostring()函数来转换即可
反向转换:通过类包装器new出一个新的类类型的变量
eg1: int i=integer.valueof(“123”).intvalue()
说明:上例是将一个字符串转化成一个integer对象,然后再调用这个对象的intvalue()方法返回其对应的int数值。
eg2: float f=float.valueof(“123”).floatvalue()
说明:上例是将一个字符串转化成一个float对象,然后再调用这个对象的floatvalue()方法返回其对应的float数值。
eg3: boolean b=boolean.valueof(“123”).booleanvalue()
说明:上例是将一个字符串转化成一个boolean对象,然后再调用这个对象的booleanvalue()方法返回其对应的boolean数值。
eg4:double d=double.valueof(“123”).doublevalue()
说明:上例是将一个字符串转化成一个double对象,然后再调用这个对象的doublevalue()方法返回其对应的double数值。
eg5: long l=long.valueof(“123”).longvalue()
说明:上例是将一个字符串转化成一个long对象,然后再调用这个对象的longvalue()方法返回其对应的long数值。
eg6: char=character.valueof(“123”).charvalue()
说明:上例是将一个字符串转化成一个character对象,然后再调用这个对象的charvalue()方法返回其对应的char数值。
基本类型向字符串的转换
正向转换:
如:int a=12;
string b;b=a+””;
反向转换:
通过类包装器
eg1:int i=integer.parseint(“123”)
说明:此方法只能适用于字符串转化成整型变量
eg2: float f=float.valueof(“123”).floatvalue()
说明:上例是将一个字符串转化成一个float对象,然后再调用这个对象的floatvalue()方法返回其对应的float数值。
eg3: boolean b=boolean.valueof(“123”).booleanvalue()
说明:上例是将一个字符串转化成一个boolean对象,然后再调用这个对象的booleanvalue()方法返回其对应的boolean数值。
eg4:double d=double.valueof(“123”).doublevalue()
说明:上例是将一个字符串转化成一个double对象,然后再调用这个对象的doublevalue()方法返回其对应的double数值。
eg5: long l=long.valueof(“123”).longvalue()
说明:上例是将一个字符串转化成一个long对象,然后再调用这个对象的longvalue()方法返回其对应的long数值。
eg6: char=character.valueof(“123”).charvalue()
说明:上例是将一个字符串转化成一个character对象,然后再调用这个对象的charvalue()方法返回其对应的char数值。

======================================================

在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定
这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: