ITPub博客

首页 > > > java运算把都变了赋值给byte竟然合法???求解

java运算把都变了赋值给byte竟然合法???求解

作者:karspb 时间:2019-10-09 16:32:54 0 删除 编辑

今天跟同学在同学在看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/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-07-31

  • 博文量
    222
  • 访问量
    16822