美文网首页java面试题总结(基础篇)
22、a=a+b与a+=b有什么区别吗?

22、a=a+b与a+=b有什么区别吗?

作者: RUMyCola | 来源:发表于2022-08-09 07:28 被阅读0次

    a=a+b与a+=b有什么区别吗?

            += 操作符会进行隐式自动类型转换,此处a+=b隐式的将加操作的结果类型强制转换为持有结果的类型,而a=a+b则不会自动进行类型转换.如:

    隐式类型强制转换

            以下代码是否有错,有的话怎么改?

    不能进行强制类型转换,编译报错

    有错误.short类型在进行运算时会自动提升为int类型,也就是说 s1+1 的运算结果是int类型,而s1是

    short类型,此时编译器会报错.

    正确写法:

    正确写法(隐式强制类型转换)

    +=操作符会对右边的表达式结果强转匹配左边的数据类型,所以没错.

    相关文章

      网友评论

        本文标题:22、a=a+b与a+=b有什么区别吗?

        本文链接:https://www.haomeiwen.com/subject/dcyqwrtx.html