java 类型自动提升
byte a=1,b=2;
byte c;
c=a+b;
这个语句是否正确呢,答案是不正确,涉及到了java 的类型自动提升。
表达式的数据类型自动提升, 关于类型的自动提升,注意下面的规则。
①所有的byte,short,char型的值将被提升为int型;
②如果有一个操作数是long型,计算结果是long型;
③如果有一个操作数是float型,计算结果是float型;
④如果有一个操作数是double型,计算结果是double型;
所以 a+b实际返回是一个int,需要强制转换成byte,
c=(byte)a+b;