首页 > > > java运算把都变了赋值给byte竟然合法???求解
今天跟同学在同学在看Java时发现一个问题,知道结果后也是被惊到了。代码如下;
public class demo{
public static void main(String[] args){
byte b = 45;
double d = 45.45;
b += d;
System.out.println(b);
//输出为90
}
}
不应该啊???double转换为byte不是应该强制转换吗?接下来,把b+=d变为b=b+d又发现:
public class demo{
public static void main(String[] args){
byte b = 45;
double d = 45.45;
b = b + d;
System.out.println(b);
//错误:不兼容的类型。从double到byte可能会有精度损失。
}
}想不通。跪求大佬们解答。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2001/viewspace-3159914/ ,如需转载,请注明出处,否则将追究法律责任。