java中short s=s+1和s+=1的区别
① short s=s+1
会出现编译错误。s+1的时候,结果会被“升格”为int类型。把int赋给short当然编译错误。
② s+=1
对于“+=”操作,系统会自动执行类型转换操作,等价于s=(short)(s+1)。
隐式类型转换可以从小到大自动转,即byte->short->int->long如果反过来会丢失精度,必须进行显示类型转换
泛泛来讲,s+=1 s = (s的类型)(s+1)
java中short s=s+1和s+=1的区别
① short s=s+1
会出现编译错误。s+1的时候,结果会被“升格”为int类型。把int赋给short当然编译错误。
② s+=1
对于“+=”操作,系统会自动执行类型转换操作,等价于s=(short)(s+1)。
隐式类型转换可以从小到大自动转,即byte->short->int->long如果反过来会丢失精度,必须进行显示类型转换
泛泛来讲,s+=1 s = (s的类型)(s+1)