为什么我在添加字符时得到一个数字?

Why do I get a number when I add chars?

我曾经决定将两个字符加在一起,它给了我一个数字。这是代码:

class Main {
  public static void main(String[] args) {
    System.out.println('a'+'b');
  }
}

输出:195.

找了很多地方,还是想不通为什么char + char = int。有人可以给我解释一下吗?

注意:这不是重复的!!另一个问题是询问添加的字符的数据类型。这个问题问为什么会这样。这些是不同答案的不同问题!

您正在添加它们的 ASCII 值:

'a'+'b' = 97+98 = 195

5.1. Kinds of Conversion

此代码将它们隐式转换为 String:

System.out.println("" + 'a' + 'b'); //ab

并且此代码转换为 double:

System.out.println(.8 + 'a' + 'b'); //195.8

如果你想连接,试试这个:

System.out.println("a"+"b");