Java char类型是一种16位无符号整数,它可以表示Unicode字符集中的字符。它的范围是从'\u0000'(即为0)到'\uffff'(即为65535)。
char 类型在Java中是一个原始数据类型,它可以用来表示单个字符。它的大小是2个字节,其范围是从0到65535之间的整数。char 类型可以用来表示Unicode字符集中的所有字符。
public class Test { public static void main(String[] args) { char ch1 = 'A'; char ch2 = 65; System.out.println("ch1: " + ch1); System.out.println("ch2: " + ch2); } }
char数据类型是16位无符号Java基元数据类型。它表示Unicode字符。
请注意,char是无符号数据类型。因此,char变量不能为负值。
字符数据类型的范围为0到65535,这与Unicode集的范围相同。
字符字面量表示char数据类型的值。 Java中的字符字面量可以用以下格式表示:
字符可以通过用单引号括起来表示。
以下代码段使用此形式为char变量赋值:
char c1 = "A"; char c2 = "L"; char c3 = "5"; char c4 = "/";
用双引号括起来的字符序列是一个String字面量。
不能将字符串字面量分配给char变量,即使String字面量只有一个字符。
字符字面量可以表示为字符转义序列。
字符转义序列以反斜杠开头,后面紧跟一个字符,并且都用单引号括起来。
有八个预定义的字符转义序列,如下表所列。
字符转义序列 | 描述 |
---|---|
"n" | 换行 |
"r" | 回车 |
"f" | 表单Feed |
"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
字符字面量可以表示为“ uxxxx”形式的Unicode转义序列。
这里, u
表示Unicode转义序列的开始,xxxx正好表示四个十六进制数字。
由xxxx表示的值是字符的Unicode值。
字符"A"有65 65十进制可以用十六进制表示为41的值的Unicode值。
因此,字符"A"可以用Unicode转义序列表示为" u0041"。
以下代码将相同的字符“A”分配给char变量c1和c2:
char c1 = "A"; char c2 = "u0041"; // Same as c2 = "A"
字符文字可以表示为形式为" nnn"的八进制转义序列。
这里,n是八进制数(0-7)。八进制转义序列的范围是" 000"到" 377"。
八进制数377与十进制数255相同。因此,使用八进制转义序列,我们可以表示Unicode代码范围从0到255个十进制整数的字符。
Unicode字符集(代码范围0到65535)可以表示为Unicode转义序列(" uxxxx")。
Unicode字符集(代码范围0到65535)可以表示为Unicode转义序列(" uxxxx")。
当为字符变量分配一个int字面量时,char变量表示其Unicode代码等于该字符串表示的值的字符。
字符"a"的Unicode代码是97.十进制值97被表示为141八进制和61十六进制。
下面的代码显示了如何使用int字面值97来表示Unicode字符"a"。
char c1 = 97; // Same as c1 = "a"; c1 = "141"; c1 = "u0061";
这里是一个程序,演示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); } }
ch1
被分配值88,它是对应于字母X的ASCII和Unicode值。ASCII字符集占据Unicode字符集中的前127个值。
上面的代码生成以下结果。
char旨在保存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); } }
在程序中,首先给ch1赋值X.接下来,ch1递增。这导致ch1包含Y,ASCII(和Unicode)序列中的下一个字符。
上面的代码生成以下结果。
在理解Java的类和对象之前,先简单介绍一下面向对象的程序设计。程序设计是通过对象对程序进行设计,对象代表一个实体,实体可以...
顺序结构只能顺序执行,不能进行判断和选择,因此需要分支结构。 Java有两种分支结构: if语句switch语句if语句 一个if语句包含...
Java10它号称有109项新特性,包含12个JEP。需要注意的是,本次Java10并不是Oracle的官方LTS版本,所以咱们可以先了解新特性。然...
Java教程 -Java For语句Javafor 循环语句提供了一种强大的写循环语句的方法。for循环的最简单形式如下所示:for(initialization;...
Java 语言提供了很多修饰符,主要分为以下两类:访问修饰符 非访问修饰符 修饰符用来定义类、方法或者变量,通常放在语句的最前...