赋值运算符

1、赋值运算符包括“基本赋值运算符”和“扩展赋值运算符”:基本的、扩展的。

2、基本赋值运算符?

  1. =

3、扩展运算符?

  1. +=<br /> -=<br /> *=<br /> /=<br /> %=<br /> 注意:扩展运算符在编写的时候,两个符号之间不能有空格。<br /> + = 错误的。<br /> += 正确的。

4、很重要的语法机制:

  1. 使用扩展赋值运算符的时候,永远都不会改变运算结果类型。<br /> byte x = 100;<br /> x += 1;<br /> x自诞生以来是byte类型,那么x变量的类型永远都是byte。不会变。<br /> 不管后面是多大的数字。
  1. public class OperatorTest04{
  2. public static void main(String[] asge){
  3. // 赋值运算符“=”右边优先级比较高,先执行右边的表达式
  4. // 然后将表达式执行结束的结果放到左边的“盒子”当中。(赋值)
  5. int i = 10;
  6. // 重新赋值
  7. i = 20;
  8. byte b = 10;
  9. b = 20;
  10. /*
  11. 以 += 运算符作为代表,学习扩展赋值运算符。
  12. 其它的运算,例如: -= *= /= %= 和 += 原理相似。
  13. */
  14. int k = 10;
  15. k += 20; // k变量追加20
  16. System.out.println(k); // 30
  17. int m = 10;
  18. // += 运算符类似下面的表达式
  19. m = m + 20;
  20. System.out.println(m); // 30
  21. // 研究:
  22. // i += 10 和 i = i + 10 真的是完全一样吗?
  23. // 答案:不一样,只能说相似,其实本质上并不是完全相同。
  24. // 使用扩展赋值运算符可以吗?
  25. // 可以的,所以得出结论: x += 1 和 x = x + 1不一样。
  26. // 其实 x += 1 等同于:x = (byte)(x + 1);
  27. x += 1
  28. }
  29. }