Api习题-Character

Api练习-Character
public class TestChar {

	public static void main(String[] args) {
		//构造
		Character c = new Character('晷');
		char c2[] = {'2','3','b','a'};
		
		//方法
		/*
		 * 确定表示指定字符(Unicode 代码点)所需的 char 值的数量
		 * 有的unicode字符需要用两位char来表示,这个方法是用来判断的,传入的参数是目标字符在
		 * unicode里的码位值。
		 */
		System.out.println("1:" + Character.charCount(65536));
		/*
		 * 返回此 Character 对象的值,也就是char值本身
		 */
		System.out.println("2:" + c.charValue());
		/*
		 * 返回 char 数组的给定索引上的代码点(unicode)
		 */
		System.out.println("3:" + Character.codePointAt(c2, 1));
		/*
		 * 返回 char 数组的给定索引上的代码点,该数组中只有那些具有小于 limit 的 index 值的数组元素可以使用
		 * 限制第二个参数不能大于或等于第三个参数,如果超过就报错。
		 */
		System.out.println("4:" + Character.codePointAt(c2, 2, 3));
		/*
		 * 返回 CharSequence 的给定索引上的代码点
		 * 因为String底层也是一个char数组,这里可以直接传入一个CharSequence,String本身就是它的实现类,所以可以直接 传入字符串
		 */
		System.out.println("5:" + Character.codePointAt("abc", 2));
		/*
		 * 返回 char 数组的给定索引前面的代码点 
		 */
		System.out.println("6:" + Character.codePointBefore(c2, 3));
		/*
		 * 返回 char 数组的给定索引前面的代码点,该数组中只有那些具有大于等于 start 的 index 值的数组元素可以使用
		 * 第二个参数要大于第三个参数,否则报 java.lang.IndexOutOfBoundsException
		 */
		System.out.println("7:" + Character.codePointBefore(c2, 3, 2));
		/*
		 * 返回 CharSequence 的给定索引前面的代码点
		 */
		System.out.println("8:" + Character.codePointBefore("abc", 3));
		/*
		 * 返回 char 数组参数的子数组中 Unicode 代码点的数量
		 */
		System.out.println("9:" + Character.codePointCount(c2, 0, 2));
		/*
		 * 返回指定字符序列的文本范围内的 Unicode 代码点数量
		 */
		System.out.println("10:" + Character.codePointCount("abc123", 0, 2));
		/*
		 * 返回指定字符序列的文本范围内的 Unicode 代码点数量
		 * 如果两个码位值相等就返回0
		 */
		Character c3 = new Character('d');
		System.out.println("11:" + c.compareTo(c3));
		/*
		 * 返回使用指定基数的字符 ch 的数值
		 */
		char c4 = 'f';
		System.out.println("12:" + Character.digit(c4, 16));
		/*
		 * 将此对象与指定对象比较。
		 */
		System.out.println("13:" + c.equals(c3));
		/*
		 * 确定使用指定基数的特定数字的字符表示形式
		 * 如果数字小于 10,则返回 '0' + digit。否则,返回的值为 'a' + digit - 10。
		 */
		System.out.println("14:" + Character.forDigit(9, 10));
		/*
		 * 返回给定字符的 Unicode 方向属性
		 */
		System.out.println("15:" + Character.getDirectionality('6'));
		/*
		 * 返回指定的 Unicode 字符表示的 int 值
		 * 如果字符中没有数值,则返回 -1。如果字符中有一个数值,但无法将它表示为非负整数(例如,小数值),则返回 -2
		 */
		System.out.println("16:" + Character.getNumericValue('z'));
		/*
		 * 返回指定的 Unicode 字符表示的 int 值
		 * 如果字符中没有数值,则返回 -1。如果字符中有一个数值,但无法将它表示为非负整数(例如,小数值),则返回 -2
		 * 
		 */
		System.out.println("17:" + Character.getNumericValue('\u216a'));
		/*
		 * 返回一个指示字符的常规类别的值
		 * 单个字则返回的类型值为5;大写英文字符类型值为1,小写字符类型值为2,十六进制为10
		 */
		System.out.println("18:" + Character.getType('A'));
		System.out.println("19:" + Character.getType(10));
		/*
		 * 返回此 Character 的哈希码
		 */
		System.out.println("20:" + c2.hashCode());
		/*
		 * 确定字符是否被定义为 Unicode 中的字符
		 */
		System.out.println("21:" + Character.isDefined('兴'));
		System.out.println("22:" + Character.isDefined(237984));
		/*
		 * 确定指定字符是否为数字
		 */
		System.out.println("23:" + Character.isDigit('9'));
		System.out.println("24:" + Character.isDigit(3));
		/*
		 * 确定给出的 char 值是否为一个高代理项代码单元(也称为前导代理项代码单元)。
		 * 该方法返回 true 的条件是当且仅当 ch >= '\uD800' && ch <= '\uDBFF'为 true
		 */
		System.out.println("25:" + Character.isHighSurrogate('\uD800'));
		/*
		 *  确定是否应该认为指定字符是 Java 标识符或 Unicode 标识符中可忽略的一个字符。
		 */
		System.out.println("26:" + Character.isIdentifierIgnorable('\u0008'));
		/*
		 * 确定指定字符是否为 ISO 控制字符
		 */
		System.out.println("27:" + Character.isISOControl('\u0008'));
		/*
		 * 确定指定字符是否可以是 Java 标识符中首字符以外的部分。
		 */
		System.out.println("28:" + Character.isJavaIdentifierPart('_'));
		/*
		 * 确定指定字符是否为字母
		 */
		System.out.println("29:" + Character.isLetter('A'));
		/*
		 * 确定指定字符是否为字母或数字
		 */
		System.out.println("30:" + Character.isLetterOrDigit('4'));
		/*
		 * 确定指定字符是否为小写字母
		 */
		System.out.println("31:" + Character.isLowerCase('4'));
		/*
		 * 确定给定 char 值是否一个低代理项代码单元(也称为尾部代理项代码单元)。
		 */
		System.out.println("32:" + Character.isLowSurrogate('4'));
		/*
		 * 确定指定字符依据 Unicode 规范是否对称
		 */
		System.out.println("33:" + Character.isMirrored('\u0028'));
		/*
		 * 确定指定字符是否为 Unicode 空白字符
		 */
		System.out.println("34:" + Character.isSpaceChar(' '));
		/*
		 * 确定指定字符(Unicode 代码点)是否在增补字符范围内
		 */
		System.out.println("35:" + Character.isSupplementaryCodePoint('d'));
		/*
		 * 确定指定的 char 值对是否为有效的代理项对
		 */
		System.out.println("36:" + Character.isSurrogatePair('\u3388','\u3733'));
		/*
		 * 确定指定字符是否为首字母大写字符
		 */
		System.out.println("37:" + Character.isTitleCase('A'));
		/*
		 * 确定指定字符是否可以是 Unicode 标识符中首字符以外的部分
		 */
		System.out.println("38:" + Character.isUnicodeIdentifierPart('a'));
		/*
		 * 确定指定字符是否为大写字母
		 */
		System.out.println("39:" + Character.isUpperCase('B'));
		/*
		 * 确定指定字符依据 Java 标准是否为空白字符
		 */
		System.out.println("40:" + Character.isWhitespace('\u0009'));
		/*
		 * 返回给定 char 子数组中的索引,它是从给定 index 到 codePointOffset 代码点的偏移量
		 */
		System.out.println("41:" + Character.offsetByCodePoints(c2,0,c2.length-1,1,2));
		/*
		 * 返回通过反转指定 char 值中的字节顺序而获得的值
		 */
		System.out.println("42:" + Character.reverseBytes('\u0090'));
		/*
		 * 将指定的字符(Unicode 代码点)转换成其存储在 char 数组中的 UTF-16 表示形式
		 */
		char c5[] = Character.toChars(23423);
		for(char c6 : c5){
			System.out.println("43:" + c6);
		}
		/*
		 * 将指定的代理项对转换为其增补代码点值
		 */
		System.out.println("44:" + Character.toCodePoint('\u0009','\u008C'));
		/*
		 * 使用取自 UnicodeData 文件的大小写映射信息将字符参数转换为小写
		 */
		System.out.println("45:" + Character.toLowerCase('A'));
		/*
		 * 返回表示此 Character 值的 String 对象
		 */
		System.out.println("46:" + c.toString());
		/*
		 * 使用取自 UnicodeData 文件的大小写映射信息将字符参数转换为首字母大写
		 */
		System.out.println("46:" + Character.toTitleCase('a'));
		/*
		 * 使用取自 UnicodeData 文件的大小写映射信息将字符参数转换为大写
		 */
		System.out.println("47:" + Character.toUpperCase('a'));
		/*
		 * 返回一个表示指定 char 值的 Character 实例
		 * 如果不需要新的 Character 实例,则通常应该优先采用此方法,而不是构造方法 Character(char),
		 * 因为该方法很可能通过缓存经常请求的值来显著提高空间和时间性能。 
		 */
		System.out.println("48:" + Character.valueOf(c4));
	}
}

 

1:2
2:晷
3:51
4:98
5:99
6:98
7:98
8:99
9:2
10:2
11:26131
12:15
13:false
14:9
15:3
16:35
17:11
18:1
19:15
20:16316379
21:true
22:false
23:true
24:false
25:true
26:true
27:true
28:true
29:true
30:true
31:false
32:false
33:true
34:true
35:false
36:false
37:false
38:true
39:true
40:true
41:3
42:退
43:孿
44:-56604532
45:a
46:晷
46:A
47:A
48:f