为什么char ch = 4(没有''),是不是错误?

时间:2013-11-25 15:15:10

标签: java

我想知道为什么char ch = 5; (例如) 不是错误?但如果我打印

System.out.println(Character.isDigit(ch));
// output 

false

这将是假的?

感谢所有

4 个答案:

答案 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。