超级新手求教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
不同精度的转换,当然会丢失部分数据了~就好比一个容器容不下,你装多给它了,只能溢出来.