09_字符类型

本文介绍了Java中的char类型,用于表示单个字符,它在内存中占用2个字节,范围从0到65535。由于计算机底层识别二进制,字符通过ASCII或Unicode编码存储。ASCII码主要适用于英文,而Java采用Unicode,能表示更广泛的字符,包括中文。通过示例展示了如何使用char类型以及Unicode编码,并提到了转义字符的概念。
摘要由CSDN通过智能技术生成

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过过过过的生活!");	// 换行
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值