数据类型的转换
2016-04-05 19:22
260 查看
注释:各数据容量从小到大排序。排序: byte, short, char, int,long,float,double。
其中实数常量默认为double类型, 整数常量默认为int类型。
数据类型的转换。
1容量小的数据类型转成容量大的数据类型,属于隐式转换,自动转换。
2容量大的数据类型转成容量小的数据类型,属于显示转换,即强转。
比如,定义一个常量。
int a =100 ;
double b= a;这时不会报错。
但是如果是 short c= a; 这时就会报错。
当整数常量转化为实数常量时,后面要加上小数点。
比如说,上式中b = 100.0,而不是等于100.
而实数常量转化整数常量时,则要舍去后面的小数点。
double d = 100.22;
int e = (int)d ;
则最后 e = 100;
而在这时,double类型转化成int类型时,就是运用了强转的手法,否则两者之间不能之间转换。
但是注意;强转会造成满溢,可能会影响最后得出来的结果。
例题。float a = 12 + 5f/2; float b = 55 + 10/4;
其中 a = 14.5; 正确。
a = 14; 错误。
解释:本来5/2得到的结果应该是默认的int类型,应该得到的是整数2.但是5后面有个f,表明此数默认为float类型,所以得出来的是2.5.
b = 57; 错误。
b = 57.5; 错误。
b = 57.0; 正确。
解释: 10/4结果是整数2,为int类型,舍去后面的小数位。
接着与55相加为57,int类型。
最后再自动转换为float类型,结果为57.0.
注意; byte,short,char类型之间无法进行直接转换,三者计算之前,首先需要转成int类型。
其中实数常量默认为double类型, 整数常量默认为int类型。
数据类型的转换。
1容量小的数据类型转成容量大的数据类型,属于隐式转换,自动转换。
2容量大的数据类型转成容量小的数据类型,属于显示转换,即强转。
比如,定义一个常量。
int a =100 ;
double b= a;这时不会报错。
但是如果是 short c= a; 这时就会报错。
当整数常量转化为实数常量时,后面要加上小数点。
比如说,上式中b = 100.0,而不是等于100.
而实数常量转化整数常量时,则要舍去后面的小数点。
double d = 100.22;
int e = (int)d ;
则最后 e = 100;
而在这时,double类型转化成int类型时,就是运用了强转的手法,否则两者之间不能之间转换。
但是注意;强转会造成满溢,可能会影响最后得出来的结果。
例题。float a = 12 + 5f/2; float b = 55 + 10/4;
其中 a = 14.5; 正确。
a = 14; 错误。
解释:本来5/2得到的结果应该是默认的int类型,应该得到的是整数2.但是5后面有个f,表明此数默认为float类型,所以得出来的是2.5.
b = 57; 错误。
b = 57.5; 错误。
b = 57.0; 正确。
解释: 10/4结果是整数2,为int类型,舍去后面的小数位。
接着与55相加为57,int类型。
最后再自动转换为float类型,结果为57.0.
注意; byte,short,char类型之间无法进行直接转换,三者计算之前,首先需要转成int类型。