【发布时间】:2014-09-10 17:41:42
【问题描述】:
如果在声明中删除了单引号,则显示为 11
class Sample
{
public static void main(String ar[])
{
char v1='5';
char v2='6';
System.out.println(v1 + v2);
}
}
输出: 107
【问题讨论】:
如果在声明中删除了单引号,则显示为 11
class Sample
{
public static void main(String ar[])
{
char v1='5';
char v2='6';
System.out.println(v1 + v2);
}
}
输出: 107
【问题讨论】:
在 Java 中,char 是 16-bit, unsigned integral type. 在算术运算中使用时,they are "promoted" 到 int 操作数具有相同的值。
Unicode 字符 '5' 的值为 53,'6' 的值为 54。将它们加在一起,得到 107。
【讨论】:
您可以使用Character.getNumericValue(char) 获得与char 等效的数字:
class Sample
{
public static void main(String ar[])
{
char v1='5';
char v2='6';
int i1 = Character.getNumericValue(v1);
int i2 = Character.getNumericValue(v2);
System.out.println(i1 + i2);
}
}
该函数将'5' 等字符映射到5 等数字。
有趣的事实:它也适用于其他编号系统,例如'๕',泰国数字 5。
【讨论】: