字符类型(char)
字符类型(char)
基本介绍
字符类型可以表示`单个字符`,字符类型是char,char是两个字节(可以存放汉字),多个字符我们用字符串String(我们后面详细讲解String)
案例演示
//演示char的基本使用
public class CharDemo{
public static void main(String[] args){
char c1 = 'a';
char c2 = '\t';
char c3 = '韩';
char c4 = 97;//说明:字符类型可以直接存放一个数字
System.out.println(c1);// a
System.out.println(c2);
System.out.println(c3);//韩
System.out.println(c4);// a:当输出c4时候,会输出97表示的字符
}
}
字符使用细节
- 字符常量是用单引号('')括起来的单个字符。
char c1 = 'a';
char c2 = '中';
char c3 = '9';
- Java中还允许使用转义字符''来将其后的字符转变为特殊字符型常量。
char c3 = '\n'; // '\n'表示换行符
- 在Java中,char的本质是一个整数,在输出时,是unicode码对应的字符
https://tool.chinaz.com/Tools/Unicode.aspx
char c1 = 97;
System.out.println(c1); // a
char c2 = 'a'; //输出'a'对应的 数字
System.out.println((int)c2);//97
char c3 = '韩';
System.out.println((int)c3);//38889
char c4 = 38889;
System.out.println(c4);//韩
可以直接给char赋一个整数,然后输出时,会按照对应的Unicode字符输出 97
char类型是可以进行运算的,相等于一个整数,因为它都对应有Unicode码
System.out.println('a' + 10); // 107
字符类型本质探讨
字符型 存储到 计算机中,需要将字符对应的码值(整数)找出来,比如'a'
存储:'a' ==> 码值 97 ==> 二进制 ==> 存储
读取:二进制 => 97 ===>'a' => 显示字符和码值的对应关系是通过字符编码表决定的(是规定好的)
介绍一下字符编码表
- ASCII(ASCII 编码表 一个字节表示,一共128 个字符,实际上一个字节可以表示256个字符,只用128个)
- Unicode(Unicode 编码表 固定大小的编码 使用两个字节来表示字符,字母和汉字统一都是占用两个字节,这样浪费空间),Unicode码兼容ASCII码。
- utf-8(编码表,大小可变的编码,字母使用1个字节,汉字使用3个字节),是在互联网上使用最广的一种Unicode的实现方式(改进)。
- gbk(可以表示汉字,而且范围广,字母使用1个字节,汉字2个字节)
- gb2312(可以表示汉字,gb2312 < gbk)
- big5 码(繁体中文,台湾,香港)
字符类型(char)的更多相关文章
- 字符类型char、字符串与字符数组、字符数组与数据数组区别
字符类型是以ASCII码值运算的:小写字母比相应的大写字母大32,其中A=65,a=97 Esc键 27(十进制).'\x1B'(十六进制).'\33'(八进制) 转义字符:\0 空字符 AS ...
- hibernate 中如何用注解映射定长字符类型char(2)
如果是用xml的方式配置映射,可以在<column>标签的sql-type属性中设置char(2),比如: <property name="age" type=& ...
- C语言-字符类型
C语言-字符类型 char不仅是一种整数,也是一种特殊的类型:字符(character). 常用单引号表示字符的字面量,如'a', '1'. 单引号''也是一个字符,printf和scanf里用的%c ...
- 通过char与varchar的区别,学习可变长的字符类型
转自http://www.uphtm.com/database/232.html 在mysql教程中char与varchar的区别呢,都是用来存储字符串的,只是他们的保存方式不一样罢了,char有固定 ...
- char与varchar2字符类型的区别
1.实验: 1)创建一个表test,包含三个字段,数据类型分别是varchar2,number,char create table test(name varchar2(10),id number(1 ...
- 【笨嘴拙舌WINDOWS】字符类型与字符串
"我将用C语言作为工具,开始WINDOWS API的使用" windows NT 从底层开始支持unicode. 1.字符类型 WINDOWS的字符类型在WINNT.H和CTYPE ...
- 返璞归真vc++之字符类型
在今天,大量使用java与.net的程序员已经很少去真实了解字符的底层表达,但是使用VC++编程,对字符的处理却非常慎重,刚学习vc++肯定会为其中的字符类型给晕头转向,今天本人学习第一节,从字符开始 ...
- Delphi 基本数据类型列表 高级数据类型列表 字符类型查询列表清单
原文:Delphi 基本数据类型列表 高级数据类型列表 字符类型查询列表清单 长长的列表文字类型文件 分类 范围 字节 备注 简单类型 序数 整数 Integer -2147483648 .. 214 ...
- 字符串赋值给字符指针(char *a="hello")的正确理解方式
对于语句 char *a="hello"; 对于这个声明方式,会造成的误解是:声明了一个字符指针(它会指向一个位置),将“字符串”赋值给 指针表达式"*a"所 ...
- Python判断输入字符类型
"""从键盘上输入 一个字符,判断其字符类型.""" while True: char = input("请输入需要判断的字符:& ...
随机推荐
- 迁移学习(DANN)《Domain-Adversarial Training of Neural Networks》
论文信息 论文标题:Domain-Adversarial Training of Neural Networks论文作者:Yaroslav Ganin, Evgeniya Ustinova, Hana ...
- [C++标准模板库:自修教程与参考手册]关于vector
什么是vector 可以这样认为,vector就是一个动态的数组,其中的元素必须具备assignable(可赋值)和copyable(可拷贝)两个性质. vector的一些重要的性质 vector支持 ...
- 快速排序——C++左闭右开区间实现
代码 #include<iostream> #include<vector> using namespace std; class Solution { public: //快 ...
- .Net6在Docker环境下操作Selenium.Chrome的那些坑
.Net6中想实现对某个网址截屏,可通过Selenium模拟访问网址并实现截图. 实现 安装Nuget包 <PackageReference Include="Selenium.Chr ...
- 面试官:JVM是如何判定对象已死的?
本文已收录至Github,推荐阅读 Java随想录 微信公众号:Java随想录 CSDN: 码农BookSea 知道的越多,才知知道的越少.--苏格拉底 目录 引用计数算法 可达性分析算法 引用类型 ...
- StringBuilder的原理-append方法
StringBuilder的原理 append方法 根据StringBuilder的API文档,常用构造方法有2个:public stringBuilder():构造一个空的StringBuilder ...
- Git【初次提交内容(代码)到新创建的远端仓库】
哈喽大家好,转眼到了年后了.年都过完了,就要开始工作了啊.那今天给大家带来的是(题目).因为从实习期开始,就一直用SVN,即使是使用Git的时候,也用了Sourcetree工具.直到最近打算和朋友(兮 ...
- 【Android】移除 Android frameworks 层,当 Linux 系统使用。(服务移除篇)
前言说明 此文章仅作为技术经验记录,核心思想,就是在 init.rc 里面移除服务,致使 frameworks 不被启动,其它不便多说. 此文章内容为系统服务移除篇,最终实现的效果是 Android ...
- C++迭代器种类与编译期间多态
迭代器分类 C++ STL 中根据移动能力将迭代器分成了 5 类: Input Iterator 输入迭代器,只支持 operator++ 操作. Output Iterator 输出迭代器,只支持 ...
- Python修改柱状图边缘柱子与图边界的距离
本文介绍基于Python中matplotlib.pyplot模块,修改柱状图.条形图最两侧的柱子与图像边缘之间距离的方法. 最近,绘制了一个水平的柱状图,但是发现图的上.下边距(不是柱子与柱子 ...