Java-char类型详解

char是Java中的保留字,与别的语言不同的是,char在Java中是16位的,因为Java用的是Unicode。不过8位的ASCII码包含在Unicode中,是从0~127的。

但是English,Spanish,German, French根本不需要这么表示,所以它们其实采用ASCII码会更高效。这中间就存在一个权衡问题。

因为char是16位的,采取的Unicode的编码方式,所以char就有以下的初始化方式:

//字符,可以是汉字,因为是Unicode编码

char c = 'c';

//可以用整数赋值

char c = 十进制数,八进制数,十六进制数等等;

//用字符的编码值来初始化

char c = '\u数字';

关于char占几个字节的问题

1.“字节”是byte,“位”是bit ;

2.1 byte = 8 bit ;

char 在Java中是2个字节。Java采用unicode,2个字节(16位)来表示一个字符。

char类型赋值

char a = 'a'; //任意单个字符,加单引号。

char a = '中';//任意单个中文字,加单引号。

char a = 111;//整数。0~65535。十进制、八进制、十六进制均可。输出字符编码表中对应的字符。

注:char只能放单个字符。

char运算

char类型是可以运算的因为char在ASCII等字符编码表中有对应的数值。

在Java中,对char类型字符运行时,直接当做ASCII表对应的整数来对待。

示例:

char m = 'a';

char m = 'a' + 'b';//char类型相加,提升为int类型,输出对应的字符。

int m = 'a' + 'b';//结果是195。//195没有超出int范围,直接输出195。

char m = 'a' + b;//会报错。//因为b是一个赋值的变量。

char m = 197;//输出字符编码表中对应的字符。

char m = '197';//会报错。//因为有单引号,表示是字符,只允许放单个字符。

char m = 'a' + 1;//输出结果是b。//提升为int,计算结果98对应的字符是b。

总结

用单引号''标识,只能放单个字符。

char + char,char + int——类型均提升为int,附值char变量后,输出字符编码表中对应的字符。 更多干货笔记关注微信公众号 : 老九学堂

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Happy的分享

[面试必备]深入理解Java的volatile关键字

在Java并发编程中,volatile关键字有着至关重要的作用,在面试中也常常会是必备的一个问题。本文将会介绍volatile关键字的作用以及其实现原理。

8320
来自专栏携程技术中心

干货 | 聊聊携程升级Dubbo的踩坑历程

顾海洋,携程框架架构研发部技术专家,负责携程分布式服务化领域的工作。目前主要负责 Dubbo 在携程的二次开发和推广工作。

78730
来自专栏智能计算时代

「集成架构」ETL工具大比拼:Talend vs Pentaho

数据总是巨大的,任何行业都必须存储这些“数据”,因为它带有巨大的信息,从而导致他们的战略规划。正如人们需要房子感到安全一样,数据也必须得到保障。这个数据主页在技...

28720
来自专栏程序猿杂货铺

业务代码的救星——Java 对象转换框架 MapStruct 妙用

在业务项目的开发中,我们经常需要将 Java 对象进行转换,比如从将外部微服务得到的对象转换为本域的业务对象 domainobject,将 domainobje...

14640
来自专栏编程大道

单例模式的几种实现方式及对比

单例模式是设计模式中最简单也是最常用的模式之一,所谓单例就是在系统中只有一个该类的实例。

8210
来自专栏Java后端技术栈cwnait

再聊Java 之synchronized

Java synchronized块将方法或代码块标记为已同步。Java synchronized块可用于避免竞争条件。

6030
来自专栏华章科技

如何在 Apache Flink 中使用 Python API?

导读:本文重点为大家介绍 Flink Python API 的现状及未来规划,主要内容包括:Apache Flink Python API 的前世今生和未来发...

85330
来自专栏Java学习录

SpringMVC源码解析(二)

在上篇文章SpringMVC源码解析(一)中,我们搭建了一个SpringBoot的启动demo,分析了SpringBoot中SpringMVC的自动配置原理以及...

12540
来自专栏趣谈编程

Spring,你可能只了解冰山一角

生活是一杯酒,有时需要麻醉自己,才能够暂时忘却痛苦与不快。 生活是一杯茶,有时需要细细品味,才发现苦涩背后也会有甘甜。 Spring是一杯酒,一眼望不到边的官...

11320
来自专栏日拱一兵

基础面试,为什么面试官总喜欢问String?

关于 Java String,这是面试的基础,但是还有很多童鞋不能说清楚,所以本文将简单而又透彻的说明一下那个让你迷惑的 String

10730

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励