不理解请高手指点 short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型) short s1 = 1; s1 += 1;(可以正确编译) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 由于1默认是int类型的数据,所以在计算s1+1的时候,java会自动把计算结果转为精度比较大的类型,这里计算结果也就是int就相当于 s1 = 2;这个时候2是int类型,所以会有错误,因为会丢失精度,要把2强制转化为int才行。而 s1 +=1 中"+="这个运算符解析的时候是有一个固定模型的,就是会按照这样的公式解析 (n的类型)n += (n1的类型)n1 => (n的类型)n = (n的类型)(n+n1) 由于解析后自动进行了强制类型转换,所以是不会有问题的。 1,2...3,系统默认是INT型的.3.26默认是DOUBLE型.知道这个就不能理解了. 关于SWING的问题 为什么我的聊天窗口不能通信呢? 帮我看一下!哪错了? 新手问个问题 谁有针对算术表达式分析的java程序呀? 悬赏寻找改程序达人 那里有java源码网址 表单form的action中的post与get是何意义,有什么区别!??? 求教一个hessian的ssl连接问题 关于动态代理的疑惑 java动态加载的三级菜单 有人了解青牛软件这家公司吗?可以说说他们的工资福利情况怎么样吗?
就相当于 s1 = 2;这个时候2是int类型,所以会有错误,因为会丢失精度,要把2强制转化为int才行。而 s1 +=1 中"+="这个运算符解析的时候是有一个固定模型的,就是会按照这样的公式解析
(n的类型)n += (n1的类型)n1 => (n的类型)n = (n的类型)(n+n1) 由于解析后自动进行了强制类型转换,所以是不会有问题的。
1,2...3,系统默认是INT型的.3.26默认是DOUBLE型.知道这个就不能理解了.