1. 基本介绍
定义:字符类型可以表示单个字符,字符类型是char,char是2个字节(可以存放汉字),多个字符我们用字符串string(后面会详讲)
1.1例子
- 注意当char c4 = 一个数字时,会输出这个数字对应的字符(编码的概念,后面会讲)
public class char01 {
//编写一个main方法
public static void main(String[] args) {
//
char c1 = 'a';
char c2 = '\t';
char c3 = '韩';
char c4 = 97;
System.out.println(c1);
System.out.println(c2);
System.out.println(c3);
System.out.println(c4);
//当输出c4时会输出97这个数字表示的那一个字符。=》编码的概念(后面会详细说)
}
}
1.2. 字符类型char使用细节
- 字符常量使用单引号括起来的单个字符。
如:char c1 = ’a‘;
char c2 = ‘中’;
char c3 = “9”;(双引号不行❌,会报错。双引号表示的是字符串。) - java中还允许使用转义字符‘ \ ’ 来将其后的字符转变为特殊字符型常量。
如:char c3 = ‘\n’; (表示换行符) - java中,char的本质是一个整数,在输出时,是unicode码对应的字符。
http://tool.chinaz.com/Tools/Unicode.aspx - 直接给char赋一个整数,输出时会按照对应的unicode字符输出。
如: char c4 = 97;//输出字母a
- (int)c1 可以输出c1对应的整数
public class char01 {
//编写一个main方法
public static void main(String[] args) {
char c1 = 'a';
char c2 = 97
System.out.println((int)c1); //输出‘a’对应的数字
System.out.println(c2); //输出97对应的字符‘a’。
System.out.println('a' + 10); //输出107
}
}
- char类型是可以进行运算的,相当于一个整数,因为它都对应有一个unicode码。(例题在上面)
- 课堂测试
public class char01 {
//编写一个main方法
public static void main(String[] args) {
char c5 = 'b' + 1;
System.out.println((int)c5); //输出99
System.out.println(c5); //输出99对应的字符,‘c’【看ASCII表格,规定好的】
}
}
1.3. 字符类型char本质探讨
- 字符型储存到计算机中,需要讲字符对应的码值(整数)找出来。
如:‘a’存储: ‘a’–> 码值97 -->二进制1100001–>存储
读取:二进制1100001 --> 码值97 --> ‘a’ --> 显示 - 字符和码值的对应关系是通过字符编码表决定的(是规定好的)
- 介绍一下字符编码表:
- ASCII(ASCII编码表 一个字节表示, 一个128个字符。实际上一个字节,最多可以表示256个字符,但只用128个)
- Unicode(unicode 编码表 固定大小的编码 使用2个字节来表示字符,字母和汉字同意是占用2个字节,这样浪费空间。)
- utf-8(编码表,大小可变的编码 字母使用1个字节,汉字使用3个字节,能表示的汉字比gbk多)
- gbk(可以表示汉字,而且范围广,字母使用1个字节,汉字使用2个字节)
- gb2312(可以表示汉字,gb2312能表示的汉字比gbk少)
- big5码(繁体中文,台湾,香港)
2. 布尔类型boolean
- 基本介绍:
- 只允许取值True 或 False,无null。
- 只占1个字节。
- 使用于逻辑运算/程序流程控制:if条件控制、while、do-while、for等等。
- 细节: 不能用0 非0来代替false 和 true。
- 例子:
public class char01 {
//编写一个main方法
public static void main(String[] args) {
//演示判断成绩是否通过的案例
//定义一个布尔变量
boolean isPass = false;//
if(isPass == true) {
System.out.println("考试通过,恭喜")
} else {
System.out.println("考试没有通过,下次努力")
}
}
}