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

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

字符型 字面值如何表示?

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

mark

mark

如何定义字符型变量?

例:

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

mark

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

ASCII码:美国标准信息交换代码
为什么要使用编码呢?编码其实就是人们定的一些规则,因为计算机是用二进制01来表示数据的。
那么我们就可以约定字母用什么样的二进制进行表示?如果没有这些规则,大家都用自己的方式去表示数据,就会造成互相之间通信的混乱。

通信混乱:
mark

mark

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

ASCII码不支持中文:
mark

ASCII码表示方式

mark

mark

mark

标准ASCII码表

0-127位
mark
mark

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

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

强制类型转换

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

初始化时的赋值数据超出char类型所表示的数据范围,就需要进行强制类型转换的操作
强制转换成一个char类型,这样做的一个缺陷就是强制转换可能会引起数据丢失。

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

mark

posted @ 2020-09-15 23:50  皿哥的技术人生  阅读(191)  评论(0)    收藏  举报