永发信息网

java:short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

答案:2  悬赏:80  手机版
解决时间 2021-04-03 08:20
  • 提问者网友:寂寞撕碎了回忆
  • 2021-04-02 13:33
java:short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
最佳答案
  • 五星知识达人网友:封刀令
  • 2021-04-02 14:28
当然有错误,short占2个字节,int占4个字节,short型变量+上int型值计算结果是int型,占4个字节,然后付给一个short型变量s1,就要丢失2个字节的精度,这是不容许的。你非要这么做的话,我给你提供一个办法:
s1=s1+1;改成s1+=1;虽然是一个意思,但是在jvm里面是不同的方法做的,是运算符重载,所以是不一样的。
您的进步是我最大的动力,如果你觉得我回答的合理的话,请给我多加分。谢谢,如果不明白的话,大家相互学习啊!
全部回答
  • 1楼网友:笑迎怀羞
  • 2021-04-02 15:12
首先 sl的数据类型是short的
而数字1是默认的int型的所以
在short s1=1;没错
在s1=sl+1;就有错了2个数据类型不一样哦
而第二句的
short s1=1;s1+=1;我没看出有错
我也是初学者哦
这个主要是考的数据类型和赋值 就是指象对象哦
看还有高手回答吗
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯