1.赋值运算符 +=,-=,*=,/=,%=中的细节问题
前提:int a = 10;
需求:对变量 a 进行 + 2 的操作。
int a = 10;
// 需求:实现 变量 a + 2 的方式有几种呢? 区别又是什么?
// 方式一
//a = a + 2;
//System.out.println("a : " + a ); // 12
// 方式二
a += 2;
System.out.println("a : " + a ); // 12
实现上述需求的方式有 2 种。那么区别是什么呢?
short a = 10;
// 方式一:
// a = a + 2; 编译失败。因为 a + 2 自动提升为 int类型,赋值给short类型是需要强制类型转换的
// a = (short)(a + 2);
// System.out.println("a : " + a ); // 12
// 方式二:
a += 2;
System.out.println("a : " + a ); // 12
// 区别是: += -= *= /= %= 不会改变变量本身的数据类型
区别是:
+= -= *= /= %= 不会改变变量本身的数据类型。