数据类型转换

*解释 ++ += /= =都是:不会改变 变量本身的数据类型
以及解释short s=1;s+=2;与s=s+2的区别.(数据类型的转换问题)

首先,数据类型之间是由范围容量较小时的数据类型 自动转换 到范围容量较大的数据类型,

short s = 1;
s = s + 2;//此时编译报错
解释:因为s是short类型,2是int类型
Short---->int类型(自动)
s+2=1+2=3(int类型)
int类型 再赋值 给short类型 时会出现数据类型转换错误。

short s = 1;
s += 2;//结论:不会改变变量本身的数据类型
此时编译成功,(暂时的理解)+=会进行内部处理,
“+=”右边的数据类型会自动转换为左边的数据类型.
输出的s为short型

解决方法是进行强制数据类型转换

S=(short)(s+2);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值