原创转载请注明出处:http://agilestyle.iteye.com/blog/2359966
a=a+b和a+=b的区别
- 对于同样类型的a和b,实际上没有任何区别
- 对于不同类型的a和b,需要注意的是强制类型转换
package org.fool.test; public class Demo { public static void main(String[] args) { short a = 1; a += 1; System.out.println(a); short b = 1; b = b + 1; //b = (short) (b + 1); System.out.println(b); } }
Console Output
Note:
+=运算中,结合了强制类型转换的功能,因此,不会出现编译错误;而对于a=a+b;这个式子,因为是简单的运算,没有类型转换,在编译过程中会报错
Summary
实际上这个问题鄙人认为真没啥用,就是一个脑筋急转弯,公司里面年纪大的用来欺负年级小的,纯粹用来装B,哪个2B青年想出来的题目,哎!