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值
如错误,请指出,十分感激
java基本数据类型Char相关推荐
- Java基础-数据类型int,short,char,long,float,double,boolean,byte
Java语言是静态类型的(statical typed),也就是说所有变量和表达式的类型再编译时就已经完全确定.由于是statical typed,导致Java语言也是强类型(Strong typed ...
- java char字符转编码_一、java基础-数据类型_数据类型转化_字符编码_转义字符
1.Java 支持的8种基本数据类型: java的四种整数数据类型:byte 1 short 2 int4 long8 byte 8位带符号整数 -128到127之间的 ...
- java基本数据类型 byte、short、int、long、float、double、char的范围和运算中注意的事项(详细)
1.Java的8种基本数据类型及其所占空间大小: 注意: ①为什么float占4个字节,而long占8个字节,float表示的范围却比long要大得多呢? 原因简单说是因为二者存储的模式不同,long ...
- JAVA数据类型 - char 的使用
public class IdentifierTest01 { /*Java语言中,char占2个字节,16位,可存放汉子(占用2个字节).或者英文等字符(占用1个字节)关于char的赋值三种方法:1 ...
- java基本数据类型 以及 double float 二进制表示方法
Java 基本数据类型分为4类:整型,浮点型,字符型,布尔型. 整数类型: 关键字 占用字节数 byte 1 short 2 int 4 long 8 每个类型的取值范围,我们以int 为例,4个字节 ...
- 【Java基础】Java基本数据类型与位运算
1.赋值运算符 赋值使用操作符"=".它的意思是"取右边的值(即右值),把它复制给左边(即左值)".右值可以是任何 常数.变量或者表达式 (只要它能 生成 一个 ...
- java i数据类型_数据类型 I
都来自菜鸟教程,自己总结学习使用, JS 数据类型 没有对比就没有伤害, 字符串(String).数字(Number).布尔(Boolean).数组(Array).对象(Object).空(Null ...
- Java 基本数据类型 sizeof 功能
Java基本数据类型 int 32bit short 16bit long 64bit byte 8bit char 16bit float 32bit double ...
- Java 基本数据类型
Java 基本数据类型 变量就是申请内存来存储值.也就是说,当创建变量的时候,需要在内存中申请空间. 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据. 因此,通过定义不 ...
最新文章
- 一台主机装两个mysql数据库_一台主机装两个mysql数据库
- 第一篇博客,java学生管理系统(挑战全网最全)
- Stimulsoft Reports.Net基础教程(十):创建图表报表②
- javaweb实现分页(二)
- Linux 资料大全
- 计算机网络(三)-体系结构
- 评审会上产品经理常被怼的话
- 2019.8.21页面功能的实现
- 运行第一个PHP程序
- [转载] numpy数组遍历找到个数最多的元素
- 读 zepto 源码之工具函数
- 计算机网络课程设计个人总结,计算机网络课程设计心得体会.doc
- 对“西刺免费代理IP“爬取、测试并存入MySQL
- 格拉布斯法—异常值判断(异常值)
- 音视频OSD完全教程
- 【跨域问题】springBoot + VUE解决跨域问题几种处理方案
- 系统虚拟化- 原理与实现
- 廊坊圣洁口去医院明星同款·隐形矫正试戴会圆满举办!
- python程序执行完后重头开始做烧饼_从“程序员转行卖烧饼”想到IT人创业
- 主目录中文路径名转英文
热门文章
- 数据库范式 1NF, 2NF, 3NF的问题与细解
- 变速器--中英文翻译
- 多多情报通:拼多多数据怎么看?
- java计算机毕业设计个人交友网站源程序+mysql+系统+lw文档+远程调试
- 'MLY -- 12.Takeways:Setting up development and test sets'
- pv uv vv cv 的区别
- 如何将excel里的数据导入到mysql中
- Eclips 安装教程
- Named Route index has a default child route. When navigating to this named route to name index
- WIN10下配置Yolov3(VS2019,GPU)+opencv训练自己的数据集(绝对详细,小白型记录)