M和N相加,M+=N和M=M+N的区别:
假设:
int x=10;
x +=1;
System.out.printin(x);
上述代码的输出结果为:11。那么在这种情况下:“a+=1”和"a=a+1"等价,一般情况下这两种语句可以通用。
但是有些情况却不可能,代码如下:
short x=10;
x += 1; //编译通过
x = x+1; //编译会发生错误
那么在上述代码中,x = x+1编译错误的原因是因为右边x + 1表达式计算结果为int 类型,而左边变量类型为short类型,这就违反了自动转换规则,需要人为的进行类型的强制转换 。而“+=”运算符在java中会自动根据接收变量的类型进行强制转换。
那么最终的结论,咱们就可以轻易得出:m += n语句等价于“m = m + n”和类型强制转换两个操作。
当然在-=、/=、*=这些运算符的操作中,情况类似。
还没有进入到面试阶段,但是并不妨碍咱们提前进行模拟面试!
身经百战,从现在开始!
小伙伴们,如果觉得我的答案还满意,就点个赞吧!
第二题的答案,你们有没有想到呢?
|