09_字符类型
字符类型
-
Java语言中用于描述 单个字符/用单引号引起来的单个字符 的数据类型:char类型。如:‘a’、'中’等,计算机底层到了硬件阶段只能识别 0 和 1 组成的二进制序列,按理来说,字符类型是不能直接存储在计算机内存中的。
-
其中 char 类型在内存空间中占2个字节并且没有符号位,表示的范围是:0 ~ 65535(没有符号位),由于显示生活中很少有数据能够被单个字符描述,因此以后的开发中更多的使用由多个字符串起来的字符串(双引号引起来的,是引用类型,不属于Java官方的基本数据类型),使用String类型加以描述,如:“hello”、"淳神"等。
-
计算机得到底层只识别 0 和 1 组成的二进制序列,对于字符 ‘a’ 这样的图案(字符就相当于是个图案) 来说不满足该规则,因此该数据无法直接在计算机中存储,但现实生活中存在这样的图案数据需要计算机存储,为了使得该数据能够存储起来就可以给该数据指定一个编号,然后将编号存储起来即可,该编号就叫做ASCII码。
-
理念:char 类型是用来描述单个字符的,单个字符这样的图案计算机是不能直接存储的,实际上我们在计算机里面是存储着它的编号,char 类型的范围:0 ~ 65535。
-
要求掌握的ASCII的有 ‘0’ - 48 ‘A’ - 65 ‘a’ - 97 空格 - 32 换行符 - 10
/* 编程实现字符类型的使用 如果我们的底层是一个二进制:1010,打印出来的是什么取决于解析方式的 */ public class CharTest { public static void main(String[] args) { // 1、声明一个Char类型的变量并初始化 char c1 = 'a'; // 2、打印变量的数值 System.out.println("c1 = " + c1); // c1 = a 为什么打印图案不打印字符的编号?因为打印的是c1,c1是char类型,就是告诉我们请按照char类型打印对应的字符也就是图案 System.out.println("对应的编号是: " + (int)c1); // 97 表示将char类型的c1强制转换为int类型并打印,也就是强制char对应的编号 System.out.println("--------------------------"); // 2、声明一个char类型的变量并初始化 char c2 = 98; // 这样写是可以的,因为图案到了底层是编号,所以直接给编号也是可以的 System.out.println("c2 = " + c2); // c2 = b c2 的类型是char类型,也就是告诉了我们要输出的是一个图案 System.out.println("对应的编号是: " + (int)c2); // 98 } }
-
ASCII表只能满足美国编码的需要,ASCII表只存在0~127 128个字符
-
Java字符类采用Unicode字符集编码。Unicode是世界通用的定长字符集,所有字符都是16位。Java走向全世界后,为了让各国语言的文字图案都在计算机中存储,Java便引出了Unicode字符集,几乎把世界各国的文字、图案都对应了编号。为什么是定长字符?因为所有的字符都是16位二进制,也就是2个字节。Java之所以采用Unicode字符集,目的就是为了保证全球各个国家的文字、图案都能有一个对应的编号,都能在计算机中进行存储。
-
Unicode字符集兼容包含ASCII码的,可以把Unicode当成是ASCII码的一个扩展
System.out.println("--------------------------"); // 3、使用Unicode字符集来表示一下我的名字 淳神 对应的编号是:\u6df3\u795e char c3 = '\u6df3'; // 我们既可以给它赋值图案也可以给它赋值编号 char c4 = '\u795e'; System.out.println("我的名字是:" + c3 + c4); // 我的名字是:淳神 说明Java中确实是使用Unicode字符集对图案进行编号的
-
要求掌握的转义字符有:\ " -> " \ ’ -> ’ \ \ -> \ \ t -> 制表符,相当于按了一下tab键 \ n -> 换行符
// 4、特殊字符的使用 双引号本身有2个含义:1、字符串的开头和结尾 2、双引号自身 \ 转义就是转换原有的含义 System.out.println("我想过过\"过过过过的生活!"); // \" -> " System.out.println("我想过过\'过过过过的生活!"); // 打印单引号本身 System.out.println("我想过过\\过过过过的生活!"); // 打印 \ 本身 System.out.println("我想过过\t过过过过的生活!"); // 打印制表符,相当于按了一下tab System.out.println("我想过过\n过过过过的生活!"); // 换行