黑马程序员技术交流社区
标题:
扩展的赋值运算符有什么特点?
[打印本页]
作者:
q491039826
时间:
2015-8-23 23:16
标题:
扩展的赋值运算符有什么特点?
扩展的赋值运算符是啥?
作者:
史柯
时间:
2015-8-24 08:30
一共四个
+=,-=,*=,/=
x+=2等同于x=x+2
x-=2等同于x=x-2
x*=2等同于x=x*2
x/=2等同于x=x/2
作者:
梦清枫
时间:
2016-1-10 16:18
有什么作用
作者:
wl756071448
时间:
2016-2-29 12:58
不会改变原有的数据类型吧,在参与运算时不会提示可能损失精度错误
作者:
苍山雪
时间:
2016-2-29 13:05
作者:
huang_bing_hua
时间:
2016-2-29 15:31
q491039826 发表于 2015-8-23 23:16
扩展的赋值运算符是啥?
用扩展运算符就不用考虑类型转化的问题,byte i; i+=1;效果等同于 i=(byte)(i+1)
作者:
18103958222
时间:
2016-2-29 20:48
默认强转!
作者:
wooh24
时间:
2016-5-31 01:20
我是来看答案的,谢谢
作者:
IT军犬
时间:
2016-8-3 15:27
底层做了强制类型转换
作者:
lvsongyang
时间:
2016-8-26 15:21
我来求答案的,顶
作者:
absvir
时间:
2016-8-26 23:47
i+=j 类似于 i=i+j
i-=j 类似于 i=i-j
i*=j 类似于 i=i*j
i/=j 类似于 i=i/j
为什么说类似呢,因为普通的i=i+j如果i和j都是byte类型,必须显式转换才能通过编译,写成i=(byte)(i+j),因为byte和short类型的数值运算会先自动提升成int类型,而拓展运算符没有这个问题
作者:
雪连城
时间:
2016-8-27 22:10
底层自带有强制类型转换功能
byte b1=3;
byte b2=b1+1;
编译会提示:可能会损失精度
而byte b1+=1;就可以编译通过
作者:
jiubaK
时间:
2016-8-28 00:23
扩展运算符,内部默认带有强转,但是有时候可能得到的也许并不是我们想要的结果。
比如
byte b = 127;
b += 1;
结果是-128,也许我想要的是128.
所以,在选择数据类型是,还是多加考虑,是否满足自己的需求。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2