锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

java基本数据类型Char

时间:2022-11-15 02:00:00 007b2ln传感器

问题背景

最近在看一些代码的时候发现自己并不清楚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-65535Unicode集合的范围相同,但实际上char 在Java 中是和 Unicode编码 形成一对应的映射存储

  • 用单引号包含的字符
    如s1,s2,s4,s7,s6,s数字、字母、汉子、但只能是一个字符
  • 字符转义序列
    字符字面量可以表示为字符转义序列。字符转义序列以反斜杠开头,后面跟着一个字符,都是单引号包括在内。有八个预定义的字符转义序列,如下表所列。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到6535中
    如s1,s2,s4,s7,s6,s数字、字母、汉子、但只能是一个字符

char操作和输出类型

上述定义实际上分为两种:

  • 一种是直接跟数值,没有单引号,实际上表示位置,比如s5,s六、十进制分别为123和256,转换为16进制为007b和0100,代表的字符实际上是代表的unicode表中第123个字符:{,第256个字符:ā
  • 一个是单引号,实际上是unicode表中的某个字符
    因此,在计算时,事实上,首先将字符转换为相应的10进制表示的数字进行计算,最后返回是一个int类型的10进制数。输出时,应根据结果类型进行划分int,自然输出是int值,如果是char,自然是char值

如果错了,请指出,非常感谢。

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章