【高薪就业必备07】short s1=1;s1=s1+1;和s1+=1;的区别是什么?
2014-03-29 12:38
302 查看
今日面试题:
short s1 = 1; s1 = s1 + 1;有什么错?
short s1 = 1; s1 += 1;有什么错?
对于short s1 = 1; s1 = s1 + 1; 由于s1+1运算时会自动提升表达式的类型(byte,short,char 这三种类型在参与运算时,会自动转换成int类型),所以最后的结果是int型,再赋值给short类型s1时,编译器将报告需要强制转换类型的错误(因为int类型转换成short类型可能会损失精度,计算机只要认为可能出错,这哥们就会提示给我们,它还是比较尽职的)。
对于short s1 = 1; s1 += 1;由于 += 是java语言规定的运算符,java编译器会对它进行特殊处理,也就是类型自动提升,因此可以正确编译。
所以大家现在明白了吧.
short s1 = 1; s1 = s1 + 1;有什么错?
short s1 = 1; s1 += 1;有什么错?
对于short s1 = 1; s1 = s1 + 1; 由于s1+1运算时会自动提升表达式的类型(byte,short,char 这三种类型在参与运算时,会自动转换成int类型),所以最后的结果是int型,再赋值给short类型s1时,编译器将报告需要强制转换类型的错误(因为int类型转换成short类型可能会损失精度,计算机只要认为可能出错,这哥们就会提示给我们,它还是比较尽职的)。
对于short s1 = 1; s1 += 1;由于 += 是java语言规定的运算符,java编译器会对它进行特殊处理,也就是类型自动提升,因此可以正确编译。
所以大家现在明白了吧.
相关文章推荐
- 【高薪就业必备06】 java中"=="和equals方法究竟有什么区别?
- 【高薪就业必备11】java中静态变量和实例变量的区别?
- short s1=1;s1=s1+1;有什么错?short s1=1;s1+=1;有什么错?
- 【高薪就业必备08】char型变量中能不能存贮一个中文汉字?why?
- 中兴的一个笔试题目,,,short s1=1;s1=s1+1; 有什么错误,,,
- enum类型是静态,enum类型仅限于long、int、short 和byte。string 是 System.String的别名,没有什么区别,只不过string是关键字。
- 【高薪就业必备09】 HR问你,你在之前公司税后工资是多少?
- 高薪就业必备10】final修饰的变量,是引用不能变,还是对像..
- 软件测试人员必备网络知识(二):什么是Session?Cookie与Session之间有哪些区别?
- 面试题:short s1=1;s1=s1+1;有什么错?short s2=1;s2+=1;有什么错?
- 【高薪就业必备12】static方法内部是否能对非static方法调用?
- java:关于short s1=1;s1=s1+1;short s1=1;s1+=1;short s3=s1+s2;中存在的简单数据类型转换问题的理解
- plist文件里的"Bundle versions string, short" 跟 "Bundle version" 的区别及作用分别是什么?
- 【高薪就业必备03】java中对两个数在不用第三方变量互换?
- 【高薪就业必备04】在java中如何跳出当前的多重嵌套循环?
- java:关于short s1=1;s1=s1+1;short s1=1;s1+=1;short s3=s1+s2;中存在的简单数据类型转换问题的理解
- 【高薪就业必备05】java中构造器Constructor是否可被override?
- 关于short s1=1;s1+=1和short s1=1;s1=s1+1;
- 高考失利——学什么技术能高薪就业?
- short s1=1;s1=s1+1;为什么是错的.而s1+=1;为什么不报错