有人能说下x=x+4和x+=4的区别吗? x=x+4和x+=4是有区别的,但是具体在哪里原来看过却忘了,好像是在一个输出时结果会不一样希望大家知道的说明下~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 x是不同类型的时候你都试过么?比如short就不行,试试看就知道了 x=x+4和x+=4的区别:第二条语句使用的是简单赋值操作符(=),而第一条语句使用的是复合赋值操作符。区别在于:复合赋值表达式自动地将它们所执行的计算的结果转型为其左侧变量的类型。如果结果的类型与该变量的类型相同,那么这个转型不会造成任何影响。然而,如果结果的类型比该变量的类型要宽,那么复合赋值操作符将悄悄地执行一个窄化原始类型转换。例如:short x = 0;int i = 123456;x=x+i;//编译不通过x+=i;//编译通过x=-7616 To:liaoxiaoqi(天崖) 谢谢,说的相当清楚~ 如何卸载jre 一个小问题 新手问个问题.....return vector里添加了东西,如何让jtree刷新,已附代码 对象问题! 利用hibernate怎么运行sp? 请问在哪里下载Mac OS的Look & Feel? public对象、构造函数--错误(赴实例) 请教如何把jbuilder7.0与sql server2000连接起来。 用JAVA如何实现多个结点的无向图的遍历和最短路径算法。 Swing的思考 请大家进来看看啊 请问以下问题如何用swing实现()
比如short就不行,试试看就知道了
第二条语句使用的是简单赋值操作符(=),而第一条语句使用的是复合赋值操作符。
区别在于:复合赋值表达式自动地将它们所执行的计算的结果转型为其左侧变量的类型。如果结果的类型与该变量的类型相同,那么这个转型不会造成任何影响。然而,如果结果的类型比该变量的类型要宽,那么复合赋值操作符将悄悄地执行一个窄化原始类型转换。
例如:
short x = 0;
int i = 123456;
x=x+i;//编译不通过
x+=i;//编译通过x=-7616
谢谢,说的相当清楚~