Java Character类

Java Character类

Java在 java.lang包中 提供了一个封装类 Character 。一个Character类型的对象包含一个字段,其类型为char。Character类提供了许多有用的类(即静态)方法来操作字符。你可以用Character构造函数创建一个Character对象。

创建一个 Character对象。

Character ch = new Character('a');

上述语句创建了一个Character对象,其中包含char类型的’a’。在Character类中只有一个构造函数,它期望一个char数据类型的参数。

如果我们将一个原始的char传入一个期望有对象的方法中,编译器会自动将char转换为Character类对象。这个特性被称为自动装箱和拆箱。

注意: 字符类和字符串类一样是不可改变的,即一旦它的对象被创建,它就 不能 被改变。

字符类的方法

字符类的方法有以下几种。

1. boolean isLetter(char ch): 这个方法用来确定指定的char值(ch)是否是一个字母。如果是字母([A-Z], [a-z]),该方法将返回true,否则返回false。我们也可以将ASCII值作为参数传递,因为在java中,char到int是隐含的类型转换。

语法

boolean isLetter(char ch)

参数

  • ch – 一个原始的字符

返回: 如果ch是一个字母,则返回true,否则,返回false。

例子

// Java program to demonstrate isLetter() method
  
public class Test {
    public static void main(String[] args)
    {
        System.out.println(Character.isLetter('A'));
  
        System.out.println(Character.isLetter('0'));
    }
}

输出

true
false

2. boolean isDigit(char ch) : 这个方法用来确定指定的char值(ch)是否是数字。在这里,我们也可以将ASCII值作为一个参数。

语法

boolean isDigit(char ch)

参数

  • ch – 一个原始的字符

返回: 如果ch是一个数字,则返回true,否则,返回false。

例子

// Java program to demonstrate isDigit() method
  
public class Test {
    public static void main(String[] args)
    {
        // print false as A is character
        System.out.println(Character.isDigit('A'));
  
        System.out.println(Character.isDigit('0'));
    }
}

输出

false
true

3. boolean isWhitespace(char ch ) : 它确定指定的char值(ch)是否为空白。白色空间包括空格、制表符或换行。

语法

boolean isWhitespace(char ch)

参数

  • ch – 一个原始的字符

返回: 如果ch是空格,则返回true,否则,返回false。

例子

// Java program to demonstrate isWhitespace() method
  
public class Test {
    public static void main(String[] args)
    {
        System.out.println(Character.isWhitespace('A'));
        System.out.println(Character.isWhitespace(' '));
        System.out.println(Character.isWhitespace('\n'));
        System.out.println(Character.isWhitespace('\t'));
  
        // ASCII value of tab
        System.out.println(Character.isWhitespace(9));
  
        System.out.println(Character.isWhitespace('9'));
    }
}

输出

false
true
true
true
true
false

4. boolean isUpperCase(char ch): 它确定指定的char值(ch)是否为大写字母。

语法

boolean isUpperCase(char ch)

参数

  • ch – 一个原始的字符

返回: 如果ch是大写字母,则返回true,否则,返回false。

例子

// Java program to demonstrate isUpperCase() method
  
public class Test {
    public static void main(String[] args)
    {
        System.out.println(Character.isUpperCase('A'));
        System.out.println(Character.isUpperCase('a'));
        System.out.println(Character.isUpperCase(65));
    }
}

输出

true
false
true

boolean isLowerCase(char ch): 它决定了指定的char值(ch)是否是小写字母。

语法

boolean isLowerCase(char ch)

参数

  • ch – 一个原始的字符

返回: 如果ch是小写字母,则返回true,否则,返回false。

例子

// Java program to demonstrate isLowerCase() method
  
public class Test {
    public static void main(String[] args)
    {
        System.out.println(Character.isLowerCase('A'));
        System.out.println(Character.isLowerCase('a'));
        System.out.println(Character.isLowerCase(97));
    }
}

输出

false
true
true

char toUpperCase(char ch): 它返回指定char值(ch)的大写字母。如果传递的是一个ASCII值,那么将返回其大写字母的ASCII值。

语法

char toUpperCase(char ch)

参数

  • ch – 一个原始字符

返回: 它返回指定char值的大写形式。

例子

// Java program to demonstrate toUpperCase() method
  
public class Test {
    public static void main(String[] args)
    {
        System.out.println(Character.toUpperCase('a'));
        System.out.println(Character.toUpperCase(97));
        System.out.println(Character.toUpperCase(48));
    }
}

输出

A
65
48

char toLowerCase(char ch): 它返回指定的char值(ch)的小写字母。

语法

char toLowerCase(char ch)

参数

  • ch – 一个原始字符

返回: 它返回指定char值的小写形式。

例子

// Java program to demonstrate toLowerCase() method
  
public class Test {
    public static void main(String[] args)
    {
        System.out.println(Character.toLowerCase('A'));
        System.out.println(Character.toLowerCase(65));
        System.out.println(Character.toLowerCase(48));
    }
}

输出

a
97
48

toString(char ch): 它返回一个代表指定字符值(ch)的String类对象,即一个字符的字符串。这里我们 不能 传递ASCII值。

语法

String toString(char ch)

参数

  • ch – 一个原始字符

返回: 它返回一个字符串对象。

例子

// Java program to demonstrate toString() method
  
public class Test {
    public static void main(String[] args)
    {
        System.out.println(Character.toString('x'));
        System.out.println(Character.toString('Y'));
    }
}

输出

x
Y

Java中字符类的方法

S. No. 方法 描述
1. static int charCount(int codePoint) 此方法确定代表指定字符(Unicode码位)所需的char值的数量。
2. charcharValue() 该方法返回该字符对象的值。
3. static int codePointAt(char[] a, int index) 此方法返回char数组中给定索引处的码位。
4. static int codePointAt(char[] a, int index, int limit) 此方法返回char数组中给定索引的代码点,其中只有索引小于限制的数组元素可以被使用。
5. static int codePointAt(CharSequence seq, int index) 此方法返回CharSequence中给定索引的代码点。
6. static int codePointBefore(char[] a, int index) 该方法返回char数组中给定索引前的代码点。
7. static int codePointBefore(char[] a, int index, int start) 该方法返回char数组中给定索引前的代码点,其中只有索引大于或等于start的数组元素可以使用。
8. static int codePointBefore(CharSequence seq, int index) 此方法返回CharSequence中给定索引前面的代码点。
9. static int codePointCount(char[] a, int offset, int count) 该方法返回char数组参数的子数组中的Unicode码点数量。
10. static int codePointCount(CharSequence seq, int beginIndex, int endIndex) 此方法返回指定char序列文本范围内的Unicode码点数量。
11. static int codePointOf(String name) 该方法返回由给定的Unicode字符名称指定的Unicode字符的码位值。
12. static int compare(char x, char y) 此方法对两个char值进行数字比较。
13. int compareTo(Character anotherCharacter) 此方法对两个字符对象进行数字比较。
14. static int digit(char ch, int radix) 此方法返回字符ch在指定radix中的数字值。
15. static int digit(int codePoint, int radix) 此方法返回指定的字符(Unicode码位)在指定弧度下的数值。
16. boolean equals(Object obj) 此方法将此对象与指定对象进行比较。
17. static char forDigit(int digit, int radix) 此方法确定指定小数点中特定数字的字符表示。
18. static byte getDirectionality(char ch) 该方法返回指定字符的Unicode方向性属性。
19. static byte getDirectionality(int codePoint) 此方法返回给定字符(Unicode码位)的Unicode方向性属性。
20. static String getName(int codePoint) 该方法返回指定字符codePoint的Unicode名称,如果该码位未被指定,则返回空。
21. static int getNumericValue(char ch) 该方法返回指定Unicode字符所代表的int值。
22. static int getNumericValue(int codePoint) 此方法返回指定字符(Unicode码位)所代表的int值。
23. static int getType(char ch) 此方法返回一个表示字符的一般类别的值。
24. static int getType(int codePoint) 此方法返回表示一个字符的一般类别的值。
25. int hashCode() 该方法返回该字符的哈希代码;等于调用charValue()的结果。
26. static int hashCode(char value) 此方法返回一个字符值的散列代码;与Character.hashCode()兼容。
27. static char highSurrogate(int codePoint) 该方法返回代表UTF-16编码中指定补充字符(Unicode码位)的代理对的前导代理(高代理码单位)。
28. static boolean isAlphabetic(int codePoint) 此方法确定指定的字符(Unicode码位)是否是字母。
29. static boolean isBmpCodePoint(int codePoint) 该方法确定指定的字符(Unicode码位)是否在基本多语言平面(BMP)中。
30. static boolean isDefined(char ch) 本方法确定一个字符是否在Unicode中定义。
31. static boolean isDefined(int codePoint) 该方法确定一个字符(Unicode码位)是否在Unicode中定义。
32. static boolean isHighSurrogate(char ch) 此方法确定给定的字符值是否是Unicode高代用码单位(也称为领先代用码单位)。
33. static boolean isIdentifierIgnorable(char ch) 此方法确定指定的字符是否应被视为Java标识符或Unicode标识符中的可忽略的字符。
34. static boolean isIdentifierIgnorable(int codePoint) 本方法确定指定的字符(Unicode码位)是否应被视为Java标识符或Unicode标识符中可忽略的字符。
35. static boolean isIdeographic(int codePoint) 此方法确定指定的字符(Unicode码位)是否为Unicode标准定义的CJKV(中、日、韩、越)表意文字。
36. static boolean isISOControl(char ch) 此方法确定指定的字符是否为ISO控制字符。
37. static boolean isISOControl(int codePoint) 本方法确定引用的字符(Unicode码位)是否是ISO控制字符。
38. static boolean isJavaIdentifierPart(char ch) 此方法确定指定的字符是否可能是Java标识符的一部分,而不是第一个字符。
39. static boolean isJavaIdentifierPart(int codePoint) 此方法确定该字符(Unicode码点)是否可以作为第一个字符以外的Java标识符的一部分。
40. static boolean isJavaIdentifierStart(char ch) 此方法确定指定的字符是否允许作为Java标识符的第一个字符。
41. 静态布尔isJavaIdentifierStart(int codePoint) 该方法确定字符(Unicode码位)是否允许作为Java标识符的第一个字符。
42. static boolean isLowSurrogate(char ch) 此方法确定给定的字符值是否是Unicode低代用代码单位(也称为尾部代用代码单位)。
43. static boolean isLetterOrDigit(char ch) 此方法确定指定的字符是字母还是数字。
44. static boolean isLetterOrDigit(int codePoint) 该方法确定指定的字符(Unicode码位)是字母还是数字。
45. static boolean isMirrored(char ch) 此方法确定该字符是否符合Unicode规范的镜像。
46. static boolean isMirrored(int codePoint) 本方法根据Unicode规范确定指定的字符(Unicode码位)是否是镜像的。
47. static boolean isSpaceChar(char ch) 此方法确定指定的字符是否为Unicode空间字符。
48. static boolean isSpaceChar(int codePoint) 此方法确定指定的字符(Unicode码位)是否是Unicode空间字符。
49. static boolean isSupplementaryCodePoint(int codePoint) 此方法确定指定的字符(Unicode码位)是否在补充字符范围内。
50. static boolean isSurrogate(char ch) 此方法确定给定的char值是否为Unicode代用代码单位。
51. static boolean isSurrogatePair(char high, char low) 此方法确定指定的一对char值是否是有效的Unicode代用码对。
52. static boolean isTitleCase(char ch) 此方法确定指定的字符是否是标题大写的字符。
53. static boolean isTitleCase(int codePoint) 此方法确定指定的字符(Unicode码位)是否为大写字符。
54. static boolean isUnicodeIdentifierPart(char ch) 此方法确定指定的字符是否可能是Unicode标识符的一部分,而不是第一个字符。
55. static boolean isUnicodeIdentifierPart(int codePoint) 此方法确定指定的字符(Unicode码位)是否可以作为第一个字符以外的Unicode标识符的一部分。
56. static boolean isUnicodeIdentifierStart(char ch) 此方法确定指定的字符是否可以作为Unicode标识符中的第一个字符。
57. static boolean isUnicodeIdentifierStart(int codePoint) 此方法确定是否允许指定的字符(Unicode码位)作为Unicode标识符中的第一个字符。
58. static boolean isValidCodePoint(int codePoint) 此方法确定指定的代码点是否是有效的Unicode代码点值。
59. static char lowSurrogate(int codePoint) 该方法返回UTF-16编码中代表指定补充字符(Unicode码位)的代理对的尾部代理(低代理代码单元)。
60. static int offsetByCodePoints(char[] a, int start, int count, int index, int codePointOffset) 该方法返回给定的char子阵列中的索引,该索引与给定的索引之间有codePointOffset码点的偏移。
61. static int offsetByCodePoints(CharSequence seq, int index, int codePointOffset) 此方法返回给定的char序列中的索引,该索引与给定的索引之间通过codePointOffset码点进行偏移。
62. static char reverseBytes(char ch) 此方法返回通过颠倒指定的char值中的字节顺序得到的值。
63. static char[] toChars(int codePoint) 此方法将指定的字符(Unicode代码点)转换为UTF-16表示,存储在一个char数组中。
64. static int toChars(int codePoint, char[] dst, int dstIndex) 此方法将指定的字符(Unicode码位)转换为UTF-16表示。
65. static int toCodePoint(char high, char low) 此方法将指定的代理对转换为其补充码位值。
66. static char toTitleCase(char ch) 该方法使用UnicodeData文件中的大小写映射信息将字符参数转换为标题大小写。
67. static int toTitleCase(int codePoint) 此方法使用UnicodeData文件中的大小写映射信息将字符(Unicode码位)参数转换为标题大写。
68. static Character valueOf(char c) 本方法返回一个代表指定字符值的字符实例。

转义序列。

以反斜杠(\)为首的字符是转义序列,对编译器有特殊意义。下表显示了Java的转义序列。

转义序列 说明
\t 在这一点上在文本中插入一个制表符。
\b 在这一点上插入退格符。
\n 在这一点上插入换行。
\r 在这一点上插入一个回车键。
\f 在这一点上,在文本中插入一个formfeed。
\’ 在此插入一个单引号字符。
\” 在此插入一个双引号字符。
\\\ 在这一点上,在文本中插入一个反斜杠字符。

当在打印语句中遇到转义序列时,编译器会对其进行相应的解释。例如,如果你想在引号内加上引号,你必须在内部引号上使用转义序列\”。要打印这个句子

She said "Hello!" to me.

你会写

System.out.println("She said \"Hello!\" to me.");

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程