014 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 08 “字符型”字面值

时间:2022-10-05 11:15:53

014 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 08 “字符型”字面值

字符型 字面值如何表示?

两个关键:单引号(必须是英文单引号)、单个字符

014  01 Android 零基础入门  01 Java基础语法 02 Java常量与变量 08 “字符型”字面值

014  01 Android 零基础入门  01 Java基础语法 02 Java常量与变量 08 “字符型”字面值

如何定义字符型变量?

例:

char a = ‘a’;  //  赋值号=左边的a:变量名a; 赋值号=右边的‘a’,变量值a
char ch = 65 ; // ?

014  01 Android 零基础入门  01 Java基础语法 02 Java常量与变量 08 “字符型”字面值

ASCII码简介以及为什么要用编码

ASCII码:美国标准信息交换代码

为什么要使用编码呢?编码其实就是人们定的一些规则,因为计算机是用二进制01来表示数据的。

那么我们就可以约定字母用什么样的二进制进行表示?如果没有这些规则,大家都用自己的方式去表示数据,就会造成互相之间通信的混乱。

通信混乱:

014  01 Android 零基础入门  01 Java基础语法 02 Java常量与变量 08 “字符型”字面值

014  01 Android 零基础入门  01 Java基础语法 02 Java常量与变量 08 “字符型”字面值

为了避免上述的通信混乱问题,就出现了编码。

ASCII码不支持中文:

014  01 Android 零基础入门  01 Java基础语法 02 Java常量与变量 08 “字符型”字面值

ASCII码表示方式

014  01 Android 零基础入门  01 Java基础语法 02 Java常量与变量 08 “字符型”字面值

014  01 Android 零基础入门  01 Java基础语法 02 Java常量与变量 08 “字符型”字面值

014  01 Android 零基础入门  01 Java基础语法 02 Java常量与变量 08 “字符型”字面值

标准ASCII码表

0-127位

014  01 Android 零基础入门  01 Java基础语法 02 Java常量与变量 08 “字符型”字面值

014  01 Android 零基础入门  01 Java基础语法 02 Java常量与变量 08 “字符型”字面值

所以,整型和字符型是可以相互转换的,转换的依据就是ASCII码表,可以将一个整型的数据转换为它的ASCII码表所对应的字符数据。所以65的输出结果是大写的A

扩展ASCII码表我们这里就不学习了,原理和标准ASCII码一样:都是使用整型数据表示一个字符。

强制类型转换

char类型是用2个字节表示的,也就是16个二进制位(1个字节对应8个二进制位),表示的数据范围是0-65535。没有负数,在Java中,char类型就是无符号的16位整数类型,它的表示范围再说一遍:0-65535。

那如果赋值65536将如何?

014  01 Android 零基础入门  01 Java基础语法 02 Java常量与变量 08 “字符型”字面值

初始化时的赋值数据超出char类型所表示的数据范围,就需要进行强制类型转换的操作

强制转换成一个char类型,这样做的一个缺陷就是强制转换可能会引起数据丢失。

所以,我们进行初始化的操作时,赋值的数据确保不要超过数据类型对应的数据范围

014  01 Android 零基础入门  01 Java基础语法 02 Java常量与变量 08 “字符型”字面值