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

Java数据类型的互相转换

2015-07-07 14:59 501 查看
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: short shortvar=0;

int intvar=0;

shortvar= (short) intvar

short-->int

exp: short shortvar=0;

int intvar=0;

intvar=shortvar;

int(float)(double)->String

exp: int intvar=1;

String stringvar;

Stringvar=string.valueOf (intvar);

char->String

exp char charvar=’a’;

String stringvar;

Stringvar=String.valueOf (charvar);

String->int、float、long、double

Exp String intstring=”10”;

String floatstring=”10.1f”;

String longstring=”99999999”;

String doubleString=”99999999.9”;

Int I=Integer.parseInt (intstring);

Float f= Integer.parseInt (floatstring);

Long lo=long. parseInt (longstring);

Double d=double. parseInt (doublestring);

String->byte、short

Exp String s=”0”;

Byte b=Integer.intValue(s);

Short sh=Integer.intValue(s);

String->char

Exp String s=”abc”;

Char a=s.charAt(0);

返回字符a

String-->boolean

String s=”true”;

Boolean flag=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 static int 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 static float 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)

{

return java.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数值。
<!--EndFragment-->
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: