Java数据类型的互相转换

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^)/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值