我想知道为什么char ch = 5; (例如) 不是错误?但如果我打印
System.out.println(Character.isDigit(ch));
// output
false
这将是假的?
感谢所有
答案 0 :(得分:9)
因为5
是一个可以转换为char
的整数文字。然而,它不是角色'5'
。
答案 1 :(得分:5)
字符由内存中的两个字节表示。 Java将5转换为字符。 '5'不是ASCII表中的第6个字符(其十六进制代码是35而不是5),因此不是“数字”。
答案 2 :(得分:4)
试试这个例子:
char ch = 97;
JOptionPane.showMessageDialog(null,"ch = "+ch);
答案是:ch = a
即使97没有(' ')
,它也不会给出错误,因为97表示字符'a'
的ASCII代码所以它不是数字,这就是为什么你得到错误的原因结果。
答案 3 :(得分:1)
如果你给ch = 5
,它会根据ASCII值自动转换为char。