以下是一些代码:
private static final char low = 'a';
private static final char high = 'z';
private static final int arrayLength = high - low + 1;
我认为arrayLength将等于26,但我不确定。它是否正确?我的第二个问题是'a'和'A'之间的数值差异是什么?当我在Character类中使用getNumericValue()方法来测试两个字符时:
String element = "a";
int x = Character.getNumericValue(element.charAt(0));
我测试了'a'和'A'两次,我得到了10次。所以,总的来说,我对字符的数值感到困惑。请指教。
答案 0 :(得分:1)
Character.getNumericValue()
用于获取数字或符号的值 - 例如,Character.getNumericValue('7')
将返回7.由于a
是十六进制的数字,此方法返回十六进制值a
或10。
对于a
的Unicode值,请执行(int) 'a'
或(int) "a".charAt(0)
。 **
(**这不适用于astral planes中的Unicode字符,但这些很少见。)
答案 1 :(得分:0)
你没有费心去read the javaDoc for getNumericalValue(),所以我会添加链接,并告诉你A
和a
的数值应该是10。
答案 2 :(得分:0)
你也可以测试它m8
public class Main {
private static final char low = 'a';
private static final char high = 'z';
private static final int arrayLength = high - low + 1;
public static void main(String [ ] args) {
System.out.println("a: "+Character.getNumericValue(low));
System.out.println("z: "+Character.getNumericValue(high));
System.out.println("The arrayLenght is: "+arrayLength);
}
}
控制台输出:
a:10
z:35
arrayLenght是:26
答案 3 :(得分:0)
Character.getNumericValue(char);
像这样工作 char 0到9返回 int 0到9 字符 a (或) A到z (或) Z返回10到35。 这意味着字母数字。 和unicode也包括。 其他char值返回-1。