> 文档中心 > java深入介绍字符、字符运算、1个十六进制数占4bit,4个十六进制数就占16bit,两个字节、Unicode几乎能代表全世界的字符

java深入介绍字符、字符运算、1个十六进制数占4bit,4个十六进制数就占16bit,两个字节、Unicode几乎能代表全世界的字符


字符

code(密码;编码)

Unicode(采用双字节对字符进行编码,统一的字符编码标准)

通常情况下1个代码单元(16bit=2byte=2字节=代码单元)就可以表示所有字符

  1. 16位Unicode码占两个字节,用以\u开头的4个十六进制数(0~9+A~F)表示(一个十六进制数占4bit,4个十六进制数就占16bit,两个字节)范围从\u0000到 \uFFFF, 65536个字符 (Unicode几乎能代表全世界的字符)

  2. 大多数计算机采用ASCII码,它是表示所有大小写字母、数字、标点符号和控制字符的8b位编码表(可以表示128个字符)

  3. Unicode 码包括ASCII码,从\u0000 到 \u007F 对应128个ASCII码

  4. 常用字符的ASCII码

    字符 十进制编码值 Unicode值
    ‘0’~‘9’ 48~57 \u0030~\u0039
    A~Z 65~90 \u0041~\u005A
    a~z 97~122 \u0061~\u007A

字符运算

  1. 自增自减操作符也可用在char型变量上,这会得到该字符之前或之后的Unicode字符。

    • 例如

    • char ch = 'a';

    • System.out.println(++ch);会输出 'b'

  2. 整数转化成char数据时,只用到该数据的低16位,其余部分都被忽略比如 char ch = (char) 0xAB0041: 期中超过16位的AB将会丢失

  3. 将浮点型转换char时,自动先将浮点型转化为int,再转化为char

  4. char转化为int时,这个字符的Unicode码就被转换成某个特定的数值类型比如A——>65

  5. 0~FFFF的任意1个十六进制正整数都可以隐式的转换成字符型数据,而不在此范围内的其他数值都必须显式的(强制)转换成char型

  6. 如果对char操作数是字符串,那么字符就会与该字符串相连

  //如果操作数是数字或字符         int i = '2'+'3';         System.out.println("i is:"+i);//i is:101         int j = 2 +'a';         System.out.println("j is:"+j);//j is:99         //如果操作数是字符串         System.out.println("Chapter M:"+'2');//Chapter M:2

整数转十六进制

 Scanner in = new Scanner(System.in); System.out.println("请输入0~15的一个整数:"); int x=in.nextInt(); char result = (char) ( x>9 ? ('A'+(x-10)) : ('0'+x)); System.out.println("转换为十六进制为:"+result);

简谱吧