日期:2014-05-20  浏览次数:20689 次

超级新手求教java数据类型转换问题
public class suanshuyunsuan
{
public static void main(String args[])
{
int a=1;  short c=a;  c=c++ + ++c;  c=++c + c++ + c++;
System.out.println("c="+c);
}
}

输出后提示可到导致精度下降,那我转换还有什么意义吗,是高转低都不行吗

------解决方案--------------------
可以转啊!不过因为你是讲int转化为short,位数减少了存在位数截取情况。所以提示可能到这精度下降!@
------解决方案--------------------
int 32位,short是16位,高转低降低精度所以要做强制类型转换啊!

强制转下short c = (short)a

------解决方案--------------------
对于java各个数据类型的精度,楼主,可以看看这篇文章哦:http://www.sujunqiang.com/archives/72.html

不同精度的转换,当然会丢失部分数据了~就好比一个容器容不下,你装多给它了,只能溢出来.