Java.lang.Character类

java

Character将一个char基本数据类型封装在类中。这个类中只有一char类型的变量。Character是基于unicode码进行的Character所有的方法,都是围绕着这个char基本数据类型的值进行操作的。

ASCII控制字符

二进制十进制十六进制缩写可以显示的表示法名称/意义
0000 0000000NUL空字符(Null)
0000 0001101SOH标题开始
0000 0010202STX本文开始
0000 0011303ETX本文结束
0000 0100404EOT传输结束
0000 0101505ENQ请求
0000 0110606ACK确认回应
0000 0111707BEL响铃
0000 1000808BS退格
0000 1001909HT水平定位符号
0000 1010100ALF换行键
0000 1011110BVT垂直定位符号
0000 1100120CFF换页键
0000 1101130DCR归位键
0000 1110140ESO取消变换(Shift out)
0000 1111150FSI启用变换(Shift in)
0001 00001610DLE跳出数据通讯
0001 00011711DC1设备控制一(XON 启用软件速度控制)
0001 00101812DC2设备控制二
0001 00111913DC3设备控制三(XOFF 停用软件速度控制)
0001 01002014DC4设备控制四
0001 01012115NAK确认失败回应
0001 01102216SYN同步用暂停
0001 01112317ETB区块传输结束
0001 10002418CAN取消
0001 10012519EM连接介质中断
0001 1010261ASUB替换
0001 1011271BESC跳出
0001 1100281CFS文件分割符
0001 1101291DGS组群分隔符
0001 1110301ERS记录分隔符
0001 1111311FUS单元分隔符
0111 11111277FDEL删除

ASCII可显示字符

二进制十进制十六进制图形
0010 00003220(空格)(␠)
0010 00013321!
0010 00103422"
0010 00113523#
0010 01003624$
0010 01013725 %
0010 01103826&
0010 01113927'
0010 10004028(
0010 10014129)
0010 1010422A*
0010 1011432B+
0010 1100442C,
0010 1101452D-
0010 1110462E.
0010 1111472F/
0011 000048300
0011 000149311
0011 001050322
0011 001151333
0011 010052344
0011 010153355
0011 011054366
0011 011155377
0011 100056388
0011 100157399
0011 1010583A:
0011 1011593B;
0011 1100603C<
0011 1101613D=
0011 1110623E>
0011 1111633F?

 

二进制十进制十六进制图形
0100 00006440@
0100 00016541A
0100 00106642B
0100 00116743C
0100 01006844D
0100 01016945E
0100 01107046F
0100 01117147G
0100 10007248H
0100 10017349I
0100 1010744AJ
0100 1011754BK
0100 1100764CL
0100 1101774DM
0100 1110784EN
0100 1111794FO
0101 00008050P
0101 00018151Q
0101 00108252R
0101 00118353S
0101 01008454T
0101 01018555U
0101 01108656V
0101 01118757W
0101 10008858X
0101 10018959Y
0101 1010905AZ
0101 1011915B[
0101 1100925C\
0101 1101935D]
0101 1110945E^
0101 1111955F_

 

二进制十进制十六进制图形
0110 00009660`
0110 00019761a
0110 00109862b
0110 00119963c
0110 010010064d
0110 010110165e
0110 011010266f
0110 011110367g
0110 100010468h
0110 100110569i
0110 10101066Aj
0110 10111076Bk
0110 11001086Cl
0110 11011096Dm
0110 11101106En
0110 11111116Fo
0111 000011270p
0111 000111371q
0111 001011472r
0111 001111573s
0111 010011674t
0111 010111775u
0111 011011876v
0111 011111977w
0111 100012078x
0111 100112179y
0111 10101227Az
0111 10111237B{
0111 11001247C|
0111 11011257D}
0111 11101267E~

 java中,char类型变量可以强制转化为int类型变量,int类型变量也可以强制转化成char类型的变量:

[java]

  1. char c='a';  
  2. int i=98;  
  3. System.out.println((int)c);  

  4. System.out.println((char)i);  

          对于数组类型,其下标为int类型,所以可以直接使用char类型变量,默认强制转换:

[java]

  1.    int[] array=new int[100];  

  2.    for(int i=0;i<array.length;i++){  

  3. array[i]=i;  
  4.    }  
  5.    char c='a';  

  6.    System.out.println(array[c]); 

     package sms.rey.cn;  

import java.io.BufferedReader;

import java.io.InputStreamReader;

public class CharacterDemo {

// 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

@SuppressWarnings("unused")

public static void main(String[] args) throws Exception {

int letterSum = 0;

int blankSum = 0;

int numberSum = 0;

int otherSum = 0;

BufferedReader bufr = new BufferedReader(new InputStreamReader(

System.in));

String line = bufr.readLine();

char[] ch = line.toCharArray();//String的方法,讲输入的字符串转换成字符数组

TotalChar(ch, otherSum, otherSum, otherSum, otherSum);

}

public static void TotalChar(char[] ch, int letterSum, int blankSum,

int numberSum, int otherSum) {

// 遍历字符数组

for (int i = 0; i < ch.length; i++) {

if (Character.isDigit(ch[i])) {

numberSum++;

} else if (Character.isSpaceChar(ch[i])) {

blankSum++;

} else if (Character.isLetter(ch[i])) {

letterSum++;

} else {

otherSum++;

}

}

System.out.println("输入的字符串中共有空格:" + blankSum);

System.out.println("输入的字符串中共有字母:" + letterSum);

System.out.println("输入的字符串中共有其他字符:" + otherSum);

System.out.println("输入的字符串中共有数字:" + numberSum);

}

}

 下面列出的是Character的其他方法,仅提供参考:

     // Character类将一个char基本数据类型封装在类中。这个类中只有一char类型的变量。Character是基于unicode码进行的  

// Character所有的方法,都是围绕着这个char基本数据类型的值进行操作的。

Character c = new Character('我');

char cc = 'a';

// 将一个char基本数据类型的数据封装成一个Character类型的对象

System.out.println(Character.valueOf('a'));

// 返回封装在Character类中的char基本数据类型的变量的值。也可理解为将Character对象转化成一个char基本数据类型的值

System.out.println(c.charValue());

// 获取Character类中封装的char基本数据类型变量的hash码值。也可理解为获得Character对象的hash码值,从源码看就是返回强制转换为int类型后的值。

System.out.println("hashcode:" + c.hashCode());

// 判断参数中的字符是否为为候补码,也就是说字符转化为数字后是否大于等于65535,如果参数直接为数字,那就看数字是否大于等于65535,是的话返回2,否则返回1

// 字符在计算机中都是用数字表示的,一个char类型占16位二进制,转成十进制后可以表示65536种字符,也就是说每个字符都可以用一个数字表示,当这数字大于65535说明

// 这个字符为扩充候补字符。

System.out.println(Character.charCount('我'));

// 比较类型和值是否都相同

System.out.println(c.equals(123));

System.out.println(Character.codePointAt("意大利", 2));

char[] c1 = { 'a', 'b', 'c' };

System.out.println(Character.codePointAt(c1, 1));

// 获取指定位置字符的代码点。第二个参数的值一定要小于第三个参数,否则异常

System.out.println(Character.codePointAt(c1, 0, 1));

// 将一个代码点转化为字符

System.out.println(Character.toChars(21033));

System.out.println(Character.offsetByCodePoints("abc", 1, 1));

// 判断是否为小写字母

System.out.println("isLowerCase: " + Character.isLowerCase('a'));

// 通过codepoint来判断是否为小写字母

System.out.println("isLowerCase: " + Character.isLowerCase(65));

// 判断是否为低位代理

System.out.println(Character.isLowSurrogate('a'));

// 判断是否为大写字母

System.out.println("isUpperCase: " + Character.isUpperCase('A'));

// 通过codepoint来判断是否为大写字母

System.out.println("isUpperCase: " + Character.isUpperCase(97));

// 判断字符是否为数字

System.out.println(Character.isDigit('\u0030'));

// 通过codepoint来判断是否为数字

System.out.println(Character.isDigit(123));

// 判断字符有没有对应的unicode形式,就是通过unicode中是否定义了字符的unicode写法

System.out.println("isDefined: " + Character.isDefined('!'));

System.out.println(Character.isDefined(123));

// 判断字符或者codepoint是否为字母

System.out.println("isLetter: " + Character.isLetter('a'));

System.out.println("isLetter: " + Character.isLetter(65));

// 判断是否为字母(26个字符)或者数字

System.out.print(Character.isLetterOrDigit('j'));

System.out.print(Character.isLetterOrDigit(1234));

// 是否为合法java变量名要求的能用于开头的字符(数字,字母下划线和$)

System.out.println("isJavaLetter:" + Character.isJavaLetter('_'));

// 功能同上,用于代替isJavaLetter方法

System.out.println("isJavaIdentifierStart: "

+ Character.isJavaIdentifierStart('@'));

System.out.println("isJavaIdentifierStart: "

+ Character.isJavaIdentifierStart(123));

// 判断是否为一个合法的java变量所包含的字符

System.out.println("isJavaIdentifierPart: "

+ Character.isJavaIdentifierPart('$'));

// java7中的方法。判断字符是否为形意字。比如中国字,日本字

// System.out.println(Character.isIdeographic('我'));

// 小写字母或者用小写字母的codepoint转大写

System.out.println("toLowerCase:" + Character.toLowerCase('A'));

System.out.println("toLowerCase:" + Character.toLowerCase(65));

// 大写字母或者用大写字母的codepoint转小写

System.out.println("toLowerCase:" + Character.toUpperCase('a'));

System.out.println("toLowerCase:" + Character.toUpperCase(97));

以上是 Java.lang.Character类 的全部内容, 来源链接: utcz.com/z/392950.html

回到顶部