计算机一开始为数学家算数,现在,主攻信息处理文本,引入字符类型
新类型1——char——单个字符
- 用单引号表示字符字面量—— ' a ' 或者 ' 1 ' 或者 ' 汉 '
- char是character的前四个字母
- JAVA使用Unicode来表示字符,可以表达包括汉字在内的多种文字
- 字符都是单个
<p class="p1"><span> </span><span> </span><span class="s1">char</span> <span class="s2">c</span> = <span class="s3">'a'</span>;</p><p class="p1"><span> </span><span> </span>System.<span class="s4">out</span>.println(<span class="s2">c</span>);</p>
输出a
字符计算
- char可以四则运算
- 加减法有用,乘除没什么意义
- 加减法算的是距离
- yun
加法
char c = 'A';
c ++;
System.out.println(c);
输出B
留意:
++后输出的是Unicode库后一个字
又例:
<span style="white-space:pre"> </span>char c = '袜';
c ++;
System.out.println(c);
输出袝
减法
char c = 'A';
char d = 'D';
System.out.println(d - c);
输出3
int i = 'Z'- 'A';
System.out.println(i);
输出25
char c = 'A';
char d = 'D';
System.out.println((int)c);
char类型转换成int
char c = 'A';
System.out.println((int)c);
输出65——表示A在Unicode当中的编码值
16进制10进制转换——输出A的多种方式
// 0041是16进制的数=十进制的65,\ u表明是Unicode的编码
char c = '\u0041';
System.out.println((int)c);
输出A
char c = 65;
System.out.println((int)c);
输出A
大小写转换
前提:
- 字母数字在Unicode表中顺序排列
- 大小写分开排列,不在一起
留意:
- 加减法后类型变成整数int
key:
- 计算大小写之间的距离
- 做加法
<span style="white-space:pre"> </span>Scanner in = new Scanner(System.in);
char c = 'A';
char d = (char)(c + 'a' - 'A');
System.out.println(c);
输出A
Scanner in = new Scanner(System.in);
char c = 'a';
char d = (char)(c + 'A' - 'a');
System.out.println(c);
输出a
比较字符大小
System.out.println('A' > 'B');
输出false——A在前面,编码值比B小
System.out.println('a' > 'A');
输出true——小写在大写后面
System.out.println('汉' > 'a');
输出true——汉字在小写后面