黑马程序员技术交流社区

标题: 一个关于运算强转的问题?int a,b;则byte c = (byte)a/b是否正确? [打印本页]

作者: maikouliujian    时间: 2016-6-16 22:23
标题: 一个关于运算强转的问题?int a,b;则byte c = (byte)a/b是否正确?
一个关于运算强转的问题?int a,b;则byte c = (byte)a/b是否正确?
我认为c是byte型的,a/b为int型,加上byte可以强转为byte型,可是答案却是这个结果是错误的,求解!

作者: jiazhuoxiao    时间: 2016-6-17 09:36
这里存在个优先级的问题  byte c = (byte)a / b; 这样写就是强转a转成byte 和b(int类型)做运算 结果还是int类型的
所以强转会失败  应该写成 byte c = (byte)(a / b);
作者: sgzqsw    时间: 2016-6-17 11:31
楼上理解到位,我也是是这个想法。




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