java中 byte a=3;byte b=4;byte c=a+b;为什么会出错

java中bytea=3;byteb=4;bytec=a+b;为什么会出错把最后一句改成bytec=a+0;也不对是不是因为系统认为a和b可能会重置或者a和b可能会被强转... java中 byte a=3;byte b=4;byte c=a+b;为什么会出错把最后一句改成byte c=a+0;也不对是不是因为系统认为a和b可能会重置或者a和b可能会被强转导致a+b不一定是byte类型的呢,a如果被强转成byte类型是不是不一定数值在byte范围之中,导致后面运算a+b也或者a+0也不一定在byte范围之中 展开
 我来答
我爱吃柠檬曲奇
2016-09-13 · TA获得超过270个赞
知道小有建树答主
回答量:215
采纳率:75%
帮助的人:89万
展开全部

额.. byte, short, char 这些整数类型,


只要+ - * / % , 就会变为 int 类型.



short s = 1;
s = s + 1; //错误, 隐式转为了int类型
s += 1; //正确
更多追问追答
追问
是等式右边默认变成int类型的吗
追答
是的。 写个例子就可以证明。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式