不理解请高手指点 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型.知道这个就不能理解了. 大家帮我看看这个迭代器程序的问题 散分。。 Condition 在程序中使用的问题 讨论:awt与swing的区别? applet安全认证的问题 鼠标dragged时,怎么做出虚框效果,用于选中物件? 问个有关TestArea问题大家近来帮忙看看! 几个问题: 有没有用过openfire的朋友? 问个关于javac参数的问题 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型.知道这个就不能理解了.