字符的“+”操作

  • 当左右两边都是数值型时,则做加法运算。
  • 当左右两边有一方为字符串时,则做拼接运算。
  • 运算顺序均为从左到右。 ```java public class test1 { public static void main(String[] args) {
    1. int i = 10;
    2. char a = 'A'; //'A'的值是65
    3. char b = 'a'; //'a'的值是97
    4. System.out.println(i + a);
    5. System.out.println(i + b);
    } }
  1. ![image.png](https://cdn.nlark.com/yuque/0/2021/png/21705001/1632116263054-5acbe069-acec-4683-a550-c359f40feebd.png#clientId=u4e1fc4da-a9c0-4&from=paste&height=194&id=u63a3569b&margin=%5Bobject%20Object%5D&name=image.png&originHeight=178&originWidth=679&originalType=binary&ratio=1&size=47684&status=done&style=none&taskId=uae8aa364-0246-4298-a6ea-4100e591b2d&width=741.5)<br />**错误写法:**
  2. ```java
  3. public class test1 {
  4. public static void main(String[] args) {
  5. int i = 10;
  6. char a = 'A'; //'A'的值是65
  7. char b = 'a'; //'a'的值是97
  8. char c = i + a;
  9. }
  10. }

错误原因:
自动类型转换由低到高进行,int类型无法自动转换为char类型。

字符串的“+”操作

  1. /**
  2. * @author WTY
  3. */
  4. public class test1 {
  5. public static void main(String[] args) {
  6. System.out.println("WTY" + "2002");
  7. System.out.println("WTY" + 2002);
  8. System.out.println(2002 + "WTY");
  9. System.out.println("WTY" + 2002 + 666);
  10. System.out.println(0 + 2002 + "WTY");
  11. }
  12. }

image.png
实为字符串的拼接操作。
当连续进行“+”操作时,从左到右依次进行。