11.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

来源:互联网 发布:知其然还要知其所以然 编辑:程序博客网 时间:2024/05/22 03:41


是报错为可能损失精度吗?呵呵,这个问题的原因就是所有声明为short的类型变量在进行运算时都会自动转为int类型的变量,这样s1+1就不是short型的,而变成int类型的,这时再赋给还是short类型的s1就会报精度损失错误了,这样改下就不会报错了
s1=(short)(s1+1),试试看! 
0 0
原创粉丝点击