在编写程序时,我们经常会遇到需要存储并操纵字符型数据的情况。例如:计算数值表达式时,需要存储运算符,这时就需要一种可以存储单个字符数据的数据类型。Java语言提供了一种char数据类型,可以满足存储单个字符的需要。
Java语言中,char占2个字节的存储空间,即可以存储英文字符,也可以存储单个汉字,一个汉字编码也占2个字节的存储空间。
char变量可按如下方式声明:
char code='a';
任意单个字符,加单引号。
char code ='中';
任意单个中文字,加单引号。
char code =97;
也可以给char类型的变量赋值一个数值,这个数值是字符的ASCII编码。例如97是英文字母小写a的ASCII编码。ASCII码是用8位的二进制数来表示字符的一种编码方式。
字符和字符串的区别是,字符用单引号括起来,字符串用双引号括起来。例如:‘a’是一个字符,“a”是一个字符串。
案例1:在PBaseUnit46项目unit46包下创建CharSample类,在CharSample类下分别声明三个char类型的局部变量并赋值,然后输出变量的值到控制台。代码如下:
/**
* @Title: CharSample.java
* @Package unit46
* @Description: Java基础知识课程案例
* @author 编程训练营
* @date 2019年11月30日
* @version V1.0
*/
package unit46;
/**
* @ClassName: CharSample
* @Description: 基本数据类型(字符类型)案例1
* @author 编程训练营
* @date 2019年11月30日
*
*/
public class CharSample {
/**
* @Title: main
* @Description: Java程序入口main方法
* @param @param args 参数
* @return void 返回类型
* @throws
*/
public static void main(String[] args) {
// 声明局部变量ch,类型为char
char ch = 'A';
// 声明局部变量word,类型为char
char word = '中';
/**
* 声明局部变量ascii,类型为char
* ascii赋值为十进制67,大写字母C的ASCII码值是67
*/
char ascii = 67;
// 输出ch的值
System.out.println("ch的值为:" + ch);
// 输出word的值
System.out.println("word的值为:" + word);
// 输出ascii的值,应输出大写字母C
System.out.println("ascii的值为:" + ascii);
}
}程序输出结果如下图所示;

转义字符
转义字符是在一些字母前面加前缀字符“\”,用来表示常见的那些不能显示的ASCII字符,例如:使用“\n”表示换行符;使用“\\”表示一个反斜线字符;使用“\r”表示回车符。下表是一些常用的转义字符。
转义符 | 意义 | ASCII |
\a | 响铃(BEL) | 007 |
\b | 退格(BS) | 008 |
\f | 换页(FF) | 012 |
\n | 换行(LF) | 010 |
\r | 回车(CR) | 013 |
\t | 水平制表(HT) | 009 |
\v | 垂直制表(VT) | 011 |
\\ | 反斜线字符''\' | 092 |
\' | 单引号(撇号)字符 | 039 |
\" | 双引号字符 | 034 |
| \? | 问号 | 063 |
\0 | 空字符(NUL) | 000 |
\ooo | 八进制数 | 三位八进制 |
\xhh | 十六进制 | 十六进制 |