`

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

 
阅读更多
s1=s1+1和s1+=1是有区别的。
s1=s1+1会错因为s1是short,而1是int,所以运算时会自动转换为int,再将int赋值给s1是需要强制转换,所以会错。
JAVA规范上说e1+=e2 实际上是 e1=(T1)(e1+e2)],其中T1是e1的数据类型

所以s1+=1等效于s1=(short)(s1+1),所以是正确的。

分享到:
评论

相关推荐

    java面试宝典

    由于s1+1运算时会自动提升表达式的类型,所以结果是int型,再赋值给short类型s1时,编译器将报告需要强制转换类型的错误。  对于short s1 = 1; s1 += 1;由于 += 是java语言规定的运算符,java编译器会对它进行特殊...

    Java基础面试题.doc

    1、String 是最基本的数据类型吗?...由于1是int类型,因此s1+1运算结果也是int 型,需要强制转换类型才能赋值给short型。而short s1 = 1; s1 += 1;可以正确编译,因为s1+= 1;相当于s1 = (short)(s

    JAVA面试题库大全.zip

    6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 7、char型变量中能不能存贮一个中文汉字?为什么? 8、用最有效率的方法算出2乘以8等於几? 9、请设计一个一百亿的计算器 。。。。。

    java面试题

    6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 9 7、char型变量中能不能存贮一个中文汉字?为什么? 9 8、用最有效率的方法算出2乘以8等於几? 9 9、请设计一个一百亿的计算器 9

    java常见面试100题

    7. short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 8 8. char型变量中能不能存贮一个中文汉字?为什么? 8 9. 用最有效率的方法算出2乘以8等於几? 8 10. 请设计一个一百亿的计算器 8

    Java面试宝典2014版

    6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 7、char型变量中能不能存贮一个中文汉字?为什么? 8、用最有效率的方法算出2乘以8等於几? 9、请设计一个一百亿的计算器 10、使用final...

    java_ms.rar_Math Class_java collection

    java面试笔试题大汇总 ~很全面 ... 第十一,short s1 = 1 s1 = s1 + 1 有什么错? short s1 = 1 s1 += 1 有什么错?  面试题都是很变态的,要做好受虐的准备。   第十二,sleep() 和 wait() 有什么区

    java面试笔试题大汇总

    第一,谈谈final, finally, finalize的区别。  最常被问到。... 第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?  面试题都是很变态的,要做好受虐的准备。 

    java各大软件公司的面试题的集和

    第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 面试题都是很变态的,要做好受虐的准备。 第十二,sleep() 和 wait() 有什么区别? 搞线程的最爱。 还有很多

    Java面试宝典

    6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 9 7、char型变量中能不能存贮一个中文汉字?为什么? 9 8、用最有效率的方法算出2乘以8等於几? 9 9、请设计一个一百亿的计算器 9 10、使用...

    JAVA笔试题集锦(1-30)基础部分

    1、作用域public,private,protected,以及不写时的区别 ... (s1+1运算结果是int型,需要强制转换类型)short s1 = 1; s1 += 1;(可以正确编译) 10、Java有没有goto 答:java中的保留字,现在没有在java中使用

    java经典面试题汇总

    (s1+1运算结果是int型,需要强制转换类型)short s1 = 1; s1 += 1;(可以正确编译) 10、Java有没有goto 答:java中的保留字,现在没有在java中使用 11、数组有没有length()这个方法? String有没有length()这个...

    java面试总结

    6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 9 7、char型变量中能不能存贮一个中文汉字?为什么? 9 8、用最有效率的方法算出2乘以8等於几? 9 9、请设计一个一百亿的计算器 9 10、使用...

    Java基础面试题(总结最全面的面试题!!!)

    文章目录什么是Java...自动装箱与拆箱说说&和&&的区别short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1; 有什么错?char 型变量中能不能存贮一个中文汉字?为什么?面向对象Java 面向对象编程三大特性: 封装

    java笔试题

    5、short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗? 6、Java有没有goto? 7、int和Integer有什么区别? 8、&和&&的区别? 9、解释内存中的栈(stack)、堆(heap)和静态区(static area)的用法。 10、...

    每天十道面试题(第一天)

    6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?7、Java有没有goto?8、int 和 Integer 有什么区别?9、&和&&的区别?10、简述逻辑操作(&,|,^)与条件操作(&&,||)的区别? 1、面向对象的特征...

    Java面试宝典(传说中的葵花宝典).doc

    由于s1+1运算时会自动提升表达式的类型,所以结果是int型,再赋值给short类型s1时,编译器将报告需要强制转换类型的错误。 对于short s1 = 1; s1 += 1;由于 += 是java语言规定的运算符,java编译器会对它进行特殊...

Global site tag (gtag.js) - Google Analytics