014 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 08 “字符型”字面值
字符型 字面值如何表示?
两个关键:单引号(必须是英文单引号)、单个字符
如何定义字符型变量?
例:
char a = ‘a’; // 赋值号=左边的a:变量名a; 赋值号=右边的‘a’,变量值a
char ch = 65 ; // ?
ASCII码简介以及为什么要用编码
ASCII码:美国标准信息交换代码
为什么要使用编码呢?编码其实就是人们定的一些规则,因为计算机是用二进制01来表示数据的。
那么我们就可以约定字母用什么样的二进制进行表示?如果没有这些规则,大家都用自己的方式去表示数据,就会造成互相之间通信的混乱。
通信混乱:
为了避免上述的通信混乱问题,就出现了编码。
ASCII码不支持中文:
ASCII码表示方式
标准ASCII码表
0-127位
所以,整型和字符型是可以相互转换的,转换的依据就是ASCII码表,可以将一个整型的数据转换为它的ASCII码表所对应的字符数据。所以65的输出结果是大写的A
扩展ASCII码表我们这里就不学习了,原理和标准ASCII码一样:都是使用整型数据表示一个字符。
强制类型转换
char类型是用2个字节表示的,也就是16个二进制位(1个字节对应8个二进制位),表示的数据范围是0-65535。没有负数,在Java中,char类型就是无符号的16位整数类型,它的表示范围再说一遍:0-65535。
那如果赋值65536将如何?
初始化时的赋值数据超出char类型所表示的数据范围,就需要进行强制类型转换的操作。
强制转换成一个char类型,这样做的一个缺陷就是强制转换可能会引起数据丢失。
所以,我们进行初始化的操作时,赋值的数据确保不要超过数据类型对应的数据范围。