public class sdfsdf {
public static void main(String[] args) {
byte a = 1;
byte b = 2;
byte c;
c = a+b; //在这里在编译时,java虚拟机会提示你:可能损失精度,找到:int,需要:byte。
这种编译错误是因为:java虚拟机在编译byte,short,char类型进行运算时,会先把它们自动提升为 int 类型,然后在进行其它的运算。
解决这类问题就是加上强制类型转换一下就哦了。
可以把c=a+b 改成 c=(byte)(a+b); 这样就不会损失精度了。
这些东西毕老师在讲java基础时,都说过的,建议你再去看看毕老师的教程。
|