public class e2 { public static void main(String[] args) { int i=10;//4 bytes short j; //2 bytes int k=j;//应该使用short默认值,要么报错j没有初始化 j=i;//出错,从小转大可以,否则要使用(int) System.out.println(j); } }
public class e2b { public static void main(String[] args) { int i=10; short j = 0; int k= j; j = (short)i ; System.out.println(j); } } 这样就可以了,谢谢各位了!!!
short在java中是2字节,而int是4字节类型,你把一个int型的数据转化到一个short,就有可能出项精度丢失。
如果你的int型数据值大于short的最大或者最小表示范围就会发生的。
如你的int为100000,而short的表示范围为(-32768---32767)
{
public static void main(String[] args)
{
int i=10;//4 bytes
short j; //2 bytes
int k=j;//应该使用short默认值,要么报错j没有初始化
j=i;//出错,从小转大可以,否则要使用(int)
System.out.println(j);
}
}
{
public static void main(String[] args)
{
int i=10;
short j = 0;
int k= j;
j = (short)i ;
System.out.println(j);
}
} 这样就可以了,谢谢各位了!!!