public class Demo
{
public static void main(String[] args)
{
short s1=1;//定义了一个short类型的变量并初始化为1,在这儿要明确的short类型在内存中占两个字节
s1=s1+1;//1在java中默认的是int类型的,在内存中占4个字节。当jvm执行(s1+1)时会把结果自动提
升为int类型,这是在赋给变s1时就出错了,因为数据类型不匹配。可以做强制类型转换s1=short(s1+1)
}
}
public class Demo1
{
public static void main(String[] args)
{
short s1=1;
s1+=1;//在这儿是没有错误的,因为+=是一个特殊的赋值运算符,自动完成运算、类型转换和赋值
}
} |