黑马程序员技术交流社区

标题: 数据类型之间的转换不是很明白 [打印本页]

作者: wuchangfeng    时间: 2015-7-8 22:49
标题: 数据类型之间的转换不是很明白
课上老是提出的问题:
byte a = 3;
byte b = 4:
byte c = a+b;
byte d =3+4;
编译结果byte c 这句是错误的,既然 a ,b 已经定义过了是byte类型的,为什么a + b不能赋值给byte类型的c 呢,哪位大牛知道,请详细告知,谢谢~
作者: 白面馅包子    时间: 2015-7-8 23:51
因为蕴含 隐式转换 当  byte a = 3;  byte b = 4; 付完值之后 会自动提升为int类型 在赋值给 byte时 所以就会出现损失精度的情况  
作者: wx_HWRW5aF7    时间: 2015-7-9 00:04
byte short 类型在计算时 会自动转化为 int类型
作者: 430422    时间: 2015-7-9 00:06
楼上正解!
作者: wuchangfeng    时间: 2015-7-10 21:38
白面馅包子 发表于 2015-7-8 23:51
因为蕴含 隐式转换 当  byte a = 3;  byte b = 4; 付完值之后 会自动提升为int类型 在赋值给 byte时 所以 ...

谢谢了,我又仔细看了下视频,现在明白了些,先记住吧
作者: wuchangfeng    时间: 2015-7-10 21:40
wx_HWRW5aF7 发表于 2015-7-9 00:04
byte short 类型在计算时 会自动转化为 int类型

谢谢了,我又仔细看了下视频,现在明白了些,先记住吧
作者: wuchangfeng    时间: 2015-7-10 21:41
430422 发表于 2015-7-9 00:06
楼上正解!

谢谢大家,现在看明白了,对概念的知识要认真看
作者: 康恒强    时间: 2015-7-10 21:46
byte c = a+b 右边自动 提升为int类型,左边是byte类型,两边类型不匹配,所以出错




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2