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

Java的数据类型转换

2016-04-23 12:57 573 查看
Java中的数据类型转换
总述
java数据类型分为3大类:布尔型,字符型和数值型。数值型又分为整形和浮点型。
布尔型:boolean
字符型:char
整形:byte short int long
浮点型:float double
此外,还经常用到的两种类变量:String 和 Date

数据类型转换一般分为三种:

简单数据类型之间的转换  
字符串与其他类型数据的转换   其他实用数据类型的转换

1:简单数据类型之间的转换
Java中,整形,字符型都被视为是简单数据类型,这些类型数据的优先级是(从低到高):(byte,short,char)- int - long - float - double。
简单数据类型之间的转换又分为三种:
1.1低级到高级的自动类型转换;
1.2高级到低级的强制类型转换;
1.3包装类过度类型转换

1.1低级到高级得自动类型转换

例如:下面的语句就可以编译通过
<span style="white-space:pre">	</span>byte b;
int i = b;
long l = i;
float f = l;
double d = f;</span>


注意一下两种情况:
1.1.1如果低级类型是char类型,向高级转换时会转换为对应的ASCLL码。例如
public class test {
public static void main(String args[]){
int j=0;
System.out.println(j+'0');//低级向高级要转换为ASCLL码

}
}


输出结果是48,即字符'0'对应的ASCLL码。

1.1.2char byte short属于同一个优先级,不能相互转换,只能通过强制转换实现。

1.2强制类型转换

将高级类型转换为低级类型,或者同级类型之间的转换,使用强制类型转换。例如:
public class test {
public static void main(String args[]){
int j=0;
System.out.println(j+'0');//低级向高级要转换为ASCLL码

}
}


缺点:这种转换可能会造成溢出或者精度的下降。

1.3包装类过渡类型的转换

Java的包装类就是可以直接将简单类型的变量表示一个类。Java中共6个包装类,他们以及对应的数据类型分别是:Boolean--boolean  Integer--char  Character--char  Long--long  Float--float  Double--double。而对于String和Date本身就是类,不存在包装类的概念。
使用自动类型转换或者强制类型转换时,可以利用包装类进行过渡,以保证其精度。
例如: 1--float转换成double
<span style="white-space:pre">	</span>float f = 100.00f;
Float F1 = new Float(f);
double d = F1.doubleValue();


2--double转换成int 类型
double d1 = 100.00;
Double D1 = new Double(d1);
int i1 = D1.intValues();


2.字符串型与其他类型的转换
toString()方法:
几乎从java.lang.Object类中的所有类都提供了toString()方法;
例如,将int 类型装换成String类型
int i = 123;
Integer I = new Integer(i);
String str = I.toString();


3.将字符型直接作为数值转换为其他数据类型
两种对应关系:
3.1转换为对应的ASCLL码,此方法不在赘述;
3.2转换关系:比如 ‘1’转换为 1;
使用方法:Character中的getNumericValues(char ch);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  转换 数据类型 java