字符型char和字符编码
char 是字符类型, java 语言对字符采用 Unicode 字符编码。 由于计算机内存只能存储二进制数据。 因此必须对各个字符进行编码, 所谓字符编码, 就是用一串二进制数来表示特定的字符。
/*
char的取值范围:0~65536
unicode对应的码值
'a' 97
'A' 65
'0' 48
*/
public class CharTest01{
public static void main(String[] args){
char c1 = 'a';
//char只能赋值为一个字符
//char c2 = 'ab';错误error
//汉子占用2个字节,所以java中的char可以存储一个汉字。
char c3 = '中';
//赋予相应的unicode值
char c4 = 97;
char c5 = 65;
char c6 = 48;
System.out.println(c1);
System.out.println(c3);
System.out.println(c4);
System.out.println(c5);
System.out.println(c6);
}
}
常见的字符编码
ASCII 编码:美国信息互换标准代码, 用一个字节来编码。
ISO-8859-1 字符编码:是国际化标准组织位西欧语言制定的编码, 它用一个字节来为字符编码, 与 ASCII 编码兼容。
GB2312 字符编码:它包括对简体中文字符的编码。
GBK 字符编码:它是对 GB2312 编码的扩展, 收录了更多的中文字符。
Unicode 字符编码:收录了全世界所有语言文字中的字符
转义字符
如果想要把一个特殊字符赋值给char类型该怎么办?比如我想将单引号’赋值给一个char类型
char c1 = ''';
上面写法在编译时会报错,正确的方法应该使用转义字符,斜线在java语言中有转义功能,正确的写法如下:
char c1 = ‘\”;
除此之外,通过转义字符可以输出很多字符。
/*
关于转义字符
*/
public class CharTest02{
public static void main(String[] args){
// 斜线在java语言中有转义功能,可以将普通t字符,转换成“制表符”
char c1 = '\t';
System.out.print(c1);
//这是一个普通的“单引号”字符
char c2 = '\'';
System.out.println(c2);
//这是一个普通的“斜线”字符
char c3 = '\\';
System.out.println(c3);
//这是一个普通的“双引号”字符
char c4 = '\"';
System.out.println(c4);
//这是一个普通的换行符。
char c5 = '\n';
//注意这里面是print,这样是不会换行的,平时使用的println,在打印时会换行
System.out.print("good");
System.out.print(c5);
System.out.print("java");
}
}