当前位置 : 主页 > 编程语言 > java >

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

来源:互联网 收集:自由互联 发布时间:2022-07-07
014 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 08 “字符型”字面值 字符型 字面值如何表示? 两个关键:单引号(必须是英文单引号)、单个字符 如何定义字符型变量? 例:

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

字符型 字面值如何表示?

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

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

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

如何定义字符型变量?

例:

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

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

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

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

通信混乱:

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

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

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

ASCII码不支持中文:

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

ASCII码表示方式

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

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

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

标准ASCII码表

0-127位

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


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

所以,整型和字符型是可以相互转换的,转换的依据就是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 “字符型”字面值_数据_12

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

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

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



网友评论