在java中添加三个不同的字符作为java变量并获取一个数字

在java中添加三个不同的字符作为java变量并获取一个数字,java,intellij-idea,Java,Intellij Idea,为什么我得到152,我想这会给我一个错误。 请解释一下 public class character { public static void main(String[] args) { char myCharValue1 = 'A'; char myCharValue2 = '2'; char myCharValue3 = '%'; System.out.println(myCharValue1 + myChar

为什么我得到152,我想这会给我一个错误。 请解释一下

    public class character {
    public static void main(String[] args) {
        char myCharValue1 = 'A';
        char myCharValue2 = '2';
        char myCharValue3 = '%';

        System.out.println(myCharValue1 + myCharValue2 + myCharValue3);
    }
}

串接
+
用于
字符串
。您要做的是将
字符的数值相加并一起打印


如果你从
开始,然后像Patrick Parker在他的评论中所说的那样使用
+
,它将变成串联而不是简单的加法,你会得到你想要的结果。

这是因为
字符
引用的是一个数字,而这个数字又有一个ASCII表示

查看,您可以看到字符
A
2
%
分别具有以下值:
65
50
37

将这些数字加在一起,您将得到示例中的
152


要打印这些
char
s,您可以使用以下命令:

System.out.printf("%s%s%s&n", myCharValue1 + myCharValue2 + myCharValue3);

它将打印
A2%
(和一个换行符)

首先尝试将其设置为字符串
“”+char1+char2+char3
char
实际上是一种16位(2字节)的数据类型。使用
+
将使它们的行为类似于数字。使用
新字符串(…)
新建StringBuilder().append(myCharValue1).append(myCharValue2).append(myCharValue3).toString()
。添加字符串后我得到了2%。非常有用,谢谢你,大兄弟,试着用不同的方式使用它。现在我明白了真正的问题是什么。谢谢你,卡亚曼,谢谢你,大哥。我认为这是正确的答案。非常感谢你。