字符的整数和Unicode值?

时间:2013-11-09 21:21:32

标签: java character

以下是一些代码:

   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次。所以,总的来说,我对字符的数值感到困惑。请指教。

4 个答案:

答案 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(),所以我会添加链接,并告诉你Aa的数值应该是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。