为什么('1'+'1')在Java中输出98?
Why does ('1'+'1') output 98 in Java?
我有以下代码:
class Example{
public static void main(String args[]){
System.out.println('1'+'1');
}
}
为什么会输出98
?
'1'
是一个 char
文字,+
运算符位于两个 char
之间 returns 和一个 int
。字符 '1'
的 unicode 值为 49,所以当您将其中两个相加时,您会得到 98。
49是1的ASCII值。所以'1' +'1'
等于49 + 49 = 98
.
在 java 中,每个字符文字都与一个 Integer
.
的 ASCII 值相关联
您可以找到所有的 ASCII 值 here
'1'
映射到 ASCII 值 49(int
类型)。
因此 '1'
+ '1'
变成 49 + 49
这是一个整数 98.
如果您将此值转换为 char
类型,如下所示,它将打印 98 的 ASCII 值,即 b
System.out.println( (char) ('1'+'1') );
如果您的目标是连接 2 个字符(意思是,您期望示例中的 "11"
),请考虑先将它们转换为字符串。通过使用双引号 "1" + "1"
或如前所述 here .
'1'
表示一个字符,计算结果为该字符对应的 ASCII 值,对于 1
为 49。将其中两个相加得到 98.
'1'
是聊天文字,它表示 ASCII 值,即 49 所以 '1'+'1'=98
.
的总和
这里分享ASCII
table的图片。如果您从 0 开始逐列计数,那么 1
排在第 49 位。抱歉,我附上图片以便更好地解释。
'1'
是一个 char
文字,两个字符之间的 + 运算符 returns 是一个整数。字符“1”的 unicode 值为 49,因此 49 + 49
等于 98。
我有以下代码:
class Example{
public static void main(String args[]){
System.out.println('1'+'1');
}
}
为什么会输出98
?
'1'
是一个 char
文字,+
运算符位于两个 char
之间 returns 和一个 int
。字符 '1'
的 unicode 值为 49,所以当您将其中两个相加时,您会得到 98。
49是1的ASCII值。所以'1' +'1'
等于49 + 49 = 98
.
在 java 中,每个字符文字都与一个 Integer
.
您可以找到所有的 ASCII 值 here
'1'
映射到 ASCII 值 49(int
类型)。
因此 '1'
+ '1'
变成 49 + 49
这是一个整数 98.
如果您将此值转换为 char
类型,如下所示,它将打印 98 的 ASCII 值,即 b
System.out.println( (char) ('1'+'1') );
如果您的目标是连接 2 个字符(意思是,您期望示例中的 "11"
),请考虑先将它们转换为字符串。通过使用双引号 "1" + "1"
或如前所述 here .
'1'
表示一个字符,计算结果为该字符对应的 ASCII 值,对于 1
为 49。将其中两个相加得到 98.
'1'
是聊天文字,它表示 ASCII 值,即 49 所以 '1'+'1'=98
.
这里分享ASCII
table的图片。如果您从 0 开始逐列计数,那么 1
排在第 49 位。抱歉,我附上图片以便更好地解释。
'1'
是一个 char
文字,两个字符之间的 + 运算符 returns 是一个整数。字符“1”的 unicode 值为 49,因此 49 + 49
等于 98。