基本数据类型-字符类型

 【1】Java中使用单引号来表示字符常量,字符型在内存中占2个字节。
char 类型用来表示在Unicode编码表中的字符。Unicode编码被设计用来处理各种语言的文字,它占2个字节,可允许有65536个字符。

【2】转义字符:

    

【3】ASCII表:

【4】Unicode编码表:
https://www.cnblogs.com/csguo/p/7401874.html

代码1:

public class Test003 {
        public static void main(String[] args){
            //定义字符类型的变量:
            char ch1 = 'a';
            System.out.println(ch1);
            char ch2 = 'A';
            System.out.println(ch2);
            char ch3 = '4';
            System.out.println(ch3);
            char ch4 = '中';
            System.out.println(ch4);
            char ch5 = '?';
            System.out.println(ch5);
            //java中无论:字母,数字,符号,中文都是字符类型的常量,都占用2个字节。
            char ch6 = ' ';
            System.out.println(ch6);
            //字符类型:单引号引起来的单个字符
            System.out.println("--------------------------------");
                /*
                转义字符:
                \将后面的普通字符转换为特殊含义
                */
            char ch7 = '\n';
            System.out.println("aaa"+ch7+"bbb");

            System.out.println("aaa\nbbb");// \n  换行

            System.out.println("aaaaaaa\tbbb");  //  \t  制表符

            System.out.println("aaa\bbbb");//aabbb  \b  向前退一格
            System.out.println("aaa\rbbb");//bbb   \r 将光标到本行开头 :回车

            System.out.println("\"java\""); // \" 将双引号原样输出  \' 将单引号原样输出 \\ 将\原样输出
        }
}

代码2:

public class Test005 {
        public static void main(String[] args){
            char ch1 = 'A';
            System.out.println(ch1);//A
            System.out.println(ch1+90);//155
            System.out.println(155-ch1);//90
            //char类型我们看到的样子就是它本身的字面常量,但是底层在进行计算的时候,实际上是按照一个码进行计算的。
            //这个码就是ASCII
            //之前说char类型是按照Unicode码表进行存储的 (Unicode兼容了ASCII码,Unicode的前128位置ASCII)

            char ch2 = '中';
            System.out.println(ch2);// 中
            System.out.println(ch2+90);// 20103
            System.out.println(20103-ch2);// 90

            //转换:
            int num1 = (int)ch2;
            System.out.println(num1);//20013

            char ch = (char)20013;
            System.out.println(ch);

            int num2 = '中';
            char ch5 = 20013;
            System.out.println(ch5);

            //面试题:
            char ch6 = '2'+2;
            System.out.println(ch6);//'4'--->4
        }
}

编码和字符集:

【1】什么是编码?

【2】通过生活案例:

【3】由权威机构形成的编码表才可以称之为:字符集

ASCII
                                        英文字符集    

                                        用一个字节的7位表示

IOS8859-1
                                        西欧字符集

                                        用一个字节的8位表示

GB2312
                                        简体中文字符集

                                        最多使用两个字节编码

PS:中文:2个字节

GB2312兼容了ASCII中的字符:

GBK
                                        GB2312的升级,加入了繁体字

                                        最多使用两个字节编码

疑问:

首位如果是0:一个字节代码代表一个字符

首位如果是1:那么一个字节不够,要加上后面的字节才能完整的表示一个字符。

Unicode
                                            国际通用字符集,融合了目前人类使用的所有字符。为每个字符分配唯一的字符码。

推出了UTF标准:

三种编码方案:  UTF-8,UTF-16,UTF-32 

以UTF-8为案例讲解:

中文: 田     ---》Unicode  : 30000

底层存储:

UTF-8标准最多可以用6个字节表示:

我们用的最多的就是UTF-8.

解释乱码问题

用记事本选择编码方法的时候一般要选择为ANSI---》获取当前操作系统的编码格式:GBK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值