Java char数据类型
来源:互联网 发布:sql server 物化视图 编辑:程序博客网 时间:2024/06/05 13:41
char
数据类型是16
位无符号Java基元数据类型。 它表示Unicode
字符。请注意,char
是无符号数据类型。 因此,char
变量不能为负值。字符数据类型的范围为0
到65535
,这与Unicode
集的范围相同。
字符字面量
字符字面量表示char
数据类型的值。 Java中的字符字面量可以用以下格式表示:
- 字符需要用单引号括起来
- 作为字符转义序列
- 作为
Unicode
转义序列 - 作为八进制转义序列
字符可以通过用单引号括起来表示。以下代码段使用此形式为char
变量赋值:
char c1 = 'A'; char c2 = 'L'; char c3 = '5'; char c4 = '/';
用双引号括起来的字符序列是一个String
字面量。不能将字符串文字分配给char
变量,即使String
文字只有一个字符。
字符转义序列
字符字面量可以表示为字符转义序列。字符转义序列以反斜杠开头,后面紧跟一个字符,并且都用单引号括起来。
有八个预定义的字符转义序列,如下表所列。
Java中只有八个字符转义序列。不能定义自己的字符转义序列。
char c1 = '\n'; // Assigns a linefeed to c1 char c2 = '\"'; // Assigns double quote to c2char c3 = '\a'; // A compile-time error. Invalid character escape sequence
Unicode
字符文字可以表示为“\uxxxx
”形式的Unicode
转义序列。这里,\u
表示Unicode
转义序列的开始,xxxx
正好表示四个十六进制数字。
由xxxx
表示的值是字符的Unicode
值。字符“A
”的Unicode
值为65
。十进制值65
可以用十六进制表示为41
。
因此,字符’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
‘)。如果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';
示例-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); }}
ch1
被分配值88
,它是对应于字母X
的ASCII
和Unicode
值。ASCII
字符集占据Unicode
字符集中的前127
个值。
上面的代码生成以下结果。
ch1 and ch2: X Y
实例-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); }}
上面的代码生成以下结果。
ch1 contains Xch1 is now Y
- java char基本数据类型
- Java char数据类型
- java基础----char等数据类型
- Java数据类型之byte、char
- Java语言基础char数据类型
- java中char数据类型的使用
- Java中的byte/char/String数据类型转换
- char数据类型
- ZZ:java中数据类型转换 (int string char等)
- java中数据类型转换 (int string char等)
- JAVA编程思想---基本数据类型总结(byte,char)
- java 数据类型所占字节数,int char
- Java中的byte[]/char[]/int/String数据类型转换
- Java基础--基本数据类型(字符型/char)
- Java的char数据类型存储一个中文字符
- 数据类型转换(char * ,char [] ,string ,int char)
- oracle中的数据类型char
- char与wchar_t数据类型
- [c++]求两个正整数的最大公约数
- Java short数据类型
- 【LeetCode】508. Most Frequent Subtree Sum
- 递推递归练习 G
- JS保存 读取 删除cookie
- Java char数据类型
- vim常用命令
- Ubuntu14.04通过Eclipse编译UHD源码
- 在ubuntu16.04(64)下搭建mt7620a的交叉编译环境
- java 面试题(一)
- Java boolean数据类型
- 状态机FSM
- Java float数据类型
- 四级网络工程师试题一