栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java基本数据类型Char

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java基本数据类型Char

问题背景

最近在看一些代码的时候发现自己并不清楚char类型数据是如何进行比较和运算的,所以学习一下https://www.w3cschool.cn/java/java-char-data-type.html,并且写了些自己的理解

char类型的定义
        char s1='a';
        char s2='d';
        char s3=14545;
        char s4='5';
        char s7='@';
        char s5=123;
        char s6=256;
        char s8='u0041';
        char s9='李';
        char s10='111';
        char s11='11';
        char s12='1';
        char s13='2';

char数据类型是16位无符号Java基元数据类型。它表示Unicode字符。请注意,char是无符号数据类型。因此,char变量不能为负值。字符数据类型的范围为0到65535,这与Unicode集的范围相同,实际上char 在Java 中是和 Unicode编码 形成一一对应的映射来存储的

  • 用单引号括起来的字符
    如s1,s2,s4,s7,s6,s9,,可以定义数字,字母,汉子,但是都只能是一个字符
  • 字符转义序列
    字符字面量可以表示为字符转义序列。字符转义序列以反斜杠开头,后面紧跟一个字符,并且都用单引号括起来。有八个预定义的字符转义序列,如下表所列。Java中只有八个字符转义序列。我们不能定义你自己的字符转义序列。

    即便你自己定义了如
        char s11='11';
        char s12='1';
        char s13='2';

但是实际上输出也都是乱码的

  • Unicode
    1.字符字面量可以表示为“ uxxxx”形式的Unicode转义序列。这里, u 表示Unicode转义序列的开始,xxxx正好表示四个十六进制数字。
    如s8,
    2.字符文字可以表示为形式为’ nnn’的八进制转义序列。
    这里,n是八进制数(0-7)。八进制转义序列的范围是’ 000’到’ 377’。
  • 直接后面跟数字但是必须在0到65535中
    如s1,s2,s4,s7,s6,s9,,可以定义数字,字母,汉子,但是都只能是一个字符
char类型的运算和输出

上面定义实际上就分为两种:

  • 一种是直接后面跟数值,没有单引号,数值表示的是实际上是位置例如s5,s6,十进制分别是123和256,转换成16进制就是007b和0100,代表的字符分别是就是实际上代表在unicode表中第123个字符:{,和第256个字符:Ā
  • 一种是单引号,实际上就是unicode表里面的某个字符
    所以在运算的时候,实际上首先把字符都转换成对应的10进制表示的数来进行运算,最后返回的就是一个int类型的10进制数。而在输出的时候,要根据结果的类型来分,如果是int,自然输出的是int值,如果是char,自然是char值
如错误,请指出,十分感激
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1020543.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号