Java char数据类型_用单引号括起来表示并占内存 16 为的数据类型是-程序员宅基地

技术标签: java  JAVA基础-原始数据类型  

char数据类型是16位无符号Java基元数据类型。 它表示Unicode字符。请注意,char是无符号数据类型。 因此,char变量不能为负值。字符数据类型的范围为065535,这与Unicode集的范围相同。

字符字面量

字符字面量表示char数据类型的值。 Java中的字符字面量可以用以下格式表示:

  • 字符需要用单引号括起来
  • 作为字符转义序列
  • 作为Unicode转义序列
  • 作为八进制转义序列

字符可以通过用单引号括起来表示。以下代码段使用此形式为char变量赋值:

char   c1  = 'A'; 
char   c2  = 'L'; 
char   c3  = '5'; 
char   c4  = '/';

  
  
   
Java

用双引号括起来的字符序列是一个String字面量。不能将字符串文字分配给char变量,即使String文字只有一个字符。

字符转义序列

字符字面量可以表示为字符转义序列。字符转义序列以反斜杠开头,后面紧跟一个字符,并且都用单引号括起来。

有八个预定义的字符转义序列,如下表所列。

字符转义序列 描述
‘\n’ 换行
‘\r’ 回车
‘\f’ 换页
‘\b’ 退格
‘\t’ 制表
‘\‘ 反斜杠
‘\”‘ 双引号
‘\’’ 单引号

Java中只有八个字符转义序列。不能定义自己的字符转义序列。

char   c1  = '\n'; // Assigns a linefeed to c1 
char   c2  = '\"'; // Assigns double quote to c2
char   c3  = '\a'; // A compile-time error. Invalid character escape sequence

  
  
   
Java

Unicode

字符文字可以表示为“\uxxxx”形式的Unicode转义序列。这里,\u表示Unicode转义序列的开始,xxxx正好表示四个十六进制数字。

xxxx表示的值是字符的Unicode值。字符“A”的Unicode值为65。十进制值65可以用十六进制表示为41

因此,字符’A‘可以用Unicode转义序列表示为’\u0041‘。以下代码将相同的字符“A”分配给char变量c1c2

char c1  = 'A';
char c2  = '\u0041'; // Same as  c2  = 'A'

  
  
   
Java

字符文字可以表示为形式为’\nnn‘的八进制转义序列。这里,n是八进制数(0-7)。 八进制转义序列的范围是’\000‘到’\377‘。
八进制数377与十进制数255相同。因此,使用八进制转义序列,可以表示Unicode代码范围从0255个十进制整数的字符。

Unicode字符集(代码范围065535)可以表示为Unicode转义序列(‘\uxxxx‘)。如果int文本在0-65535范围内,可以为int变量赋值。

当为字符变量分配一个int字面量时,char变量表示其Unicode代码等于该字符串表示的值的字符。字符’a‘的Unicode代码是97。十进制值97被表示为141八进制和61十六进制。
下面的代码显示了如何使用int字面值97来表示Unicode字符’a‘。

char   c1  = 97;  // Same as  
c1  = 'a'; 
c1  = '\141'; 
c1  = '\u0061';

  
  
   
Java

示例-1

这里是一个程序用来演示char变量:

public class Main {
     
  public static void main(String args[]) {
     
    char ch1, ch2;
    ch1 = 88; // code for X
    ch2 = 'Y';
    System.out.print("ch1 and ch2: ");
    System.out.println(ch1 + " " + ch2);
  }
}

  
  
   
Java

ch1被分配值88,它是对应于字母XASCIIUnicode值。ASCII字符集占据Unicode字符集中的前127个值。

上面的代码生成以下结果。

ch1 and ch2: X Y

  
  
   
Java

实例-2

char用来保存Unicode字符,但它也可以用来保存整数类型,可以在其上执行算术运算。例如,可以将两个字符添加在一起,或者增加一个字符变量的值。

在程序中,ch1首先给定值X。 接下来,ch1递增。这导致ch1包含Y值,ASCII(和Unicode)序列中的下一个字符。

public class Main {
     
  public static void main(String args[]) {
     
    char ch1;

    ch1 = 'X';
    System.out.println("ch1 contains " + ch1);

    ch1++; // increment ch1
    System.out.println("ch1 is now " + ch1);
  }
}

  
  
   
Java

上面的代码生成以下结果。

ch1 contains X
ch1 is now Y

  
  
   
Java

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ilvest/article/details/64904559

智能推荐

K8S原理架构与实战教程-程序员宅基地

文章浏览阅读1k次。在介绍K8S之前,先来看看服务器的演变过程:物理机时代、虚拟机时代、容器化时代。

HEVC代码学习——帧间预测:预测MV获取(xEstimateMvPredAMVP、fillMVPCand)_hevc amvp-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏3次。HEVC帧间预测在AMVP模式下是依靠xEstimateMvPredAMVP函数获取预测MV(MVP)的。xEstimateMvPredAMVP的作用是建立MVP列表并获取最优MVP,最终将最优MVP以及其索引等信息返回给上层函数——preInterSearch_hevc amvp

应用层协议(HTTP协议)_http应用层协议-程序员宅基地

文章浏览阅读5.3k次,点赞17次,收藏61次。但是就这样就可以了吗?当面试官问我们什么是HTTP协议时上面这个我们肯定能够说的出来但是这可能不是面试官想要的结果.面试官可能会在问什么是超文本控制协议?我们可以将超文本传输协议拆分为三部分:他们之间的关系如下: 1.什么是超文本?2.什么是传输?3.什么是协议一个URL的构成如下:1.协议方案名:2.登录信息:3.服务器地址4.端口号注意:当我们输入中文时中文也没被URL编码既然URL能对这些特殊字符进行编码那么服务器拿到这些字符的时候肯定要进行解码,这样服务器才能收到你传递的参数。也就是说urdecod_http应用层协议

ElasticSearch入门学习教程_elasticsearch.url配置文件-程序员宅基地

文章浏览阅读609次。前言本片博客是本人通过观看狂神说的视频记录的笔记,以此记录方便需要时查阅。视频地址:https://www.bilibili.com/video/BV17a4y1x7zq1.ElasticSearch的简介ElasticSearch,简称ES。ES是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身的扩展性很好,可以扩展到上百台服务器,处理BP(大数据)级别的数据。ES也使用Java开发并使用Lucene作为其核心来实现所有缩影和搜索功能,但是它的目的是通过简单的RE_elasticsearch.url配置文件

用matplotlib画散点图,并为每个点,每个坐标轴添加标签,_matplotlib散点图每个点标签-程序员宅基地

文章浏览阅读588次。【代码】用matplotlib画散点图,并为每个点,每个坐标轴添加标签,_matplotlib散点图每个点标签

随机森林、数据集划分、准确率、混淆矩阵(Python实现)_机器学习随机森林预测溶解度得出混淆矩阵-程序员宅基地

文章浏览阅读6.3k次,点赞7次,收藏49次。目录0 今日目标1 随机森林(RandomForestClassifier)1.1 案例11.2 案例22数据集划分(train_test_split)3 准确率 (accuracy_score)4混淆矩阵 (confusion_matrix )4.1混淆矩阵4.2 举例说明4.3 参数说明4.4 案例致谢0 今日目标from sklearn.ensemble import RandomForestClassifier #随机森林..._机器学习随机森林预测溶解度得出混淆矩阵

随便推点

电气simulink常用模块_「西门子1200PLC教程」2.CPU家族及模块-程序员宅基地

文章浏览阅读783次。本文转自电气工程师必备的公众号“电气工程师助手”SIMATIC S7-1200具有集成化PROFINET接口、强大的集成工艺功能和灵活的可扩展性特点,为各种工艺任务提供了简单的通信和有效的解决方案,尤其满足多种应用中完全不同的自动化需求。1.中央处理器单元(CPU)常规规范CPU 1211C 技术规范CPU 1212C 技术规范CPU 1214C 技术规范CPU 1215C 技术规范CPU 121..._西门子plc simulink

ISIS 防环机制分析_is——is协议防环机制-程序员宅基地

文章浏览阅读6k次,点赞5次,收藏29次。通过实验来分析ISIS防环机制:实验拓扑:实验验证:ATT置位默认路由分析Level-2路由泄露到Level-1区域,LSP的Up/Down置位的作用验证分析:在R2上查看ISIS的LSDB:[R2]dis isis lsdb Database information for ISIS(1) ..._is——is协议防环机制

ViSP学习笔记(十):自动阈值划分_intermodes阈值分割-程序员宅基地

文章浏览阅读383次。开发环境:Ubuntu 18.04 LTS + ROS Melodic + ViSP 3.3.1文章内容主要参考ViSP官方教学文档:https://visp-doc.inria.fr/doxygen/visp-daily/tutorial_mainpage.html  本文主要介绍了如何使用ViSP自动设定阈值对图像进行二值化处理,主要涉及Huang、Intermodes、Isodata、Mean、Otsu、Triangle等自动阈值划分算法。本文主要参考了imgproc中的 tutorial-._intermodes阈值分割

海康Visionmaster-VM2D,VM3D,VM深度学习对电脑配置要求_海康vm安装-程序员宅基地

文章浏览阅读1.4k次。海康Visionmaster-VM2D,VM3D,VM深度学习对电脑配置要求_海康vm安装

CSS实现渐变色边框,动画效果_css 边框渐变-程序员宅基地

文章浏览阅读7.2k次,点赞4次,收藏11次。以上是CSS实现渐变色边框的5种方法,可以根据需要选择和应用不同的方法。_css 边框渐变

【技巧】Latex在线工具:公式编辑器、表格编辑器_latex表格在线编辑-程序员宅基地

文章浏览阅读3.5k次,点赞2次,收藏4次。在线工具就是方便!_latex表格在线编辑

推荐文章

热门文章

相关标签