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

智能推荐

计算带余除法(四种方法)_带余除法怎么写编程-程序员宅基地

文章浏览阅读387次,点赞12次,收藏4次。给定两个整数a和b (0 < a,b < 10,000),计算a除以b的整数商和余数。一行,包括两个整数a和b,依次为被除数和除数(不为零),中间用空格隔开。一行,包含两个整数,依次为整数商和余数,中间用一个空格隔开。示例:输入:15 2,输出:7 1_带余除法怎么写编程

【Maven教程】(九):使用 Maven 进行测试——动态指定要运行的测试用例、包含与排除测试用例、测试报告、运行TestNG测试、重用测试代码 ~_maven和testng怎么用-程序员宅基地

文章浏览阅读1.7k次,点赞2次,收藏3次。本文的主题是Maven与测试的集成,不过在讲述具体的测试技巧之前先实现了背景案例的account-captcha模块,这一模块的测试代码也成了本章其他内容良好的素材。maven-surefire-plugin是Maven背后真正执行测试的插件,它有一组默认的文件名模式来匹配并自动运行测试类。用户还可以使用该插件来跳过测试、动态执行测试类、包含或排除测试等。maven-surefire-plugin能生成基本的测试报告,除此之外还能使用cobertura-maven-plugin生成测试覆盖率报告。_maven和testng怎么用

DataGridView列头checkbox-程序员宅基地

文章浏览阅读4.6k次。using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Dat_datagridview列头

Python3 错误和异常_assertionerror怎么解决python-程序员宅基地

文章浏览阅读927次,点赞2次,收藏2次。Python3 错误和异常_assertionerror怎么解决python

Sharding-JDBC 1.5.0.M1 正式发布,全新的 SQL 解析引擎-程序员宅基地

文章浏览阅读109次。经过了长达几个月的紧张开发,Sharding-JDBC 1.5.0.M1终于正式发布。Sharding-JDBC 1.5.0.M1版本是一次里程碑式升级,工作量巨大,Sharding-JDBC截止到1.4.2之前所有的提交次数为385次,而1.5.0.M1一个版本的提交次数为517次。Sharding-JDBC从这个版本开始明确定位为“水平扩展以及in..._sharding-jdbc 1.5 解析器

golang检测网页编码_go 识别网页编码-程序员宅基地

文章浏览阅读876次。很简单直接上代码package mainimport ( "fmt" "io/ioutil" "net/http" "unicode/utf8")func main() { resp, _ := http.Get(`https://www.baidu.com/`) data, _ := ioutil.ReadAll(resp.Body) defer resp.Body.Close() fmt.Println(utf8.Valid(data)) // ture代表即utf8,否则你_go 识别网页编码

随便推点

java的重写_java 类的重写-程序员宅基地

文章浏览阅读211次。java的重写重写的一般用法方法重写的具体要求文章内容选自尚硅谷重写的一般用法java的重写是为了子类在继承父类方法的时候,需要用到父类的方法,但是方法体又和父类不完全一样,因此得在子类中创建一个和父类同名同参数的方法,实现方法的重写。方法的重写(override或overwrite)必须和父类同名,参数列表也相同重写后当子类调用父类的方法的时候,调用的是子类中重写的方法,而不是父类的方法。代码如下,创建一个Person类package com.atguigui.java;public_java 类的重写

Oracle学习笔记 1 ---Oracle概述和安装配置_oracle笔记1 1. oracle概述-程序员宅基地

文章浏览阅读793次。一、Oracle概述_oracle笔记1 1. oracle概述

基于matlab的一元线性回归原理_基于matlab栅格数据一元线性回归-程序员宅基地

文章浏览阅读3.6k次,点赞3次,收藏27次。一元线性回归分析是在排除其他影响因素,分析某一个因素(自变量:X)是如何影响另外一个事物(因变量:Y)的过程,所进行的分析是比较理想化的。对于一元线性回归来说,可以看成Y的值是随着X的值变化,每一个实际的X都会有一个实际的Y值,我们叫Y实际,那么我们就是要求出一条直线,每一个实际的X都会有一个直线预测的Y值,我们叫做Y预测,回归线使得每个Y的实际值与预测值之差得平方和最小。_基于matlab栅格数据一元线性回归

vue 百度地图/天地图设置铺满屏幕100%,解决空隙问题_vue百度地图 100vw宽度不生效-程序员宅基地

文章浏览阅读491次。vue 百度地图/天地图设置铺满屏幕100%,解决空隙问题_vue百度地图 100vw宽度不生效

所有服务器用户使用同一个conda_怎么让服务器各个节点指向同一个anaconda-程序员宅基地

文章浏览阅读1.4k次。需求:现在有一台服务器,需要所有新建的用户都能在登陆后,直接使用指定的conda,不需要其他的任何配置。尝试:方法一:.(source) ~/anaconda3/bin/activate可行,无需管理员权限,但需每进入一次terminal都需输入一次。方法二:echo 'export PATH="~/anaconda3/bin:$PATH"' >> ~/.bashrc source ~/.bashrc可行,无需管理员权限,但需每进入一次terminal都需输入一次。方法三:_怎么让服务器各个节点指向同一个anaconda

python连接数据库_python连接数据库代码-程序员宅基地

文章浏览阅读3.6k次。python连接不同的数据库_python连接数据库代码

推荐文章

热门文章

相关标签