为什么 ('1'+'1') 在 Java 中输出 98?

2022-09-03 09:47:50

我有以下代码:

class Example{
    public static void main(String args[]){

        System.out.println('1'+'1');

    }
}

为什么它输出?98


答案 1

在java中,每个字符文本都与ASCII值相关联,该值是.Integer

您可以在此处找到所有 ASCII 值

'1'映射到 ASCII 值 49(类型)。
因此+成为整数98。int'1''1'49 + 49

如果按如下所示将此值转换为类型,它将打印 ASCII 值 98,即charb

System.out.println( (char) ('1'+'1') );

如果您的目标是连接 2 个字符(这意味着,您希望从您的示例中获得),请考虑先将它们转换为字符串。要么使用双引号,要么如 这里提到的 。"11""1" + "1"


答案 2

'1'是一个文本,两个 s 之间的运算符返回一个 .该字符的 unicode 值为 49,因此当您添加其中的两个字符时,您将获得 98。char+charint'1'


推荐