黑马程序员技术交流社区

标题: 求解,java中的一个char变量可不可以存储中文汉字? [打印本页]

作者: 柳小龙    时间: 2013-8-13 17:14
标题: 求解,java中的一个char变量可不可以存储中文汉字?
求解,平时我们将中文汉字都是用字符串类型存储的,java中的一个char变量可不可以存储中文汉字?

作者: 乔小北    时间: 2013-8-13 17:21
char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字,所以,char型变量中可以存储汉字。不过,如果某个特殊的汉字没有被包含在unicode编码字符集中,那么,这个char型变量中就不能存储这个特殊汉字。
作者: 焦允    时间: 2013-8-13 18:45
class charceshi
{
public static void main(String args[])
{
char a='人';
System.out.println((int)a);
}

}

可以放汉字~~但是必须是在ascii编码中收录了的汉字才行~
并且  不支持词组
作者: ⑷嚸V恱    时间: 2013-8-13 19:11
能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的,一个汉字两个字节。
作者: 封号了...    时间: 2013-8-13 21:14
哈哈,这个我知道,因为char类型的长度是2个字节,
GBK中一个中文的大小也是2个字节,当然汉字总共有8w+,而GBK只有2W+;
UTF-8中是3个字节。
所以用GBK是可以放得下一个汉字的。
作者: 吃阁子的猫    时间: 2013-8-16 20:09
char的长度是-128到+127之间,一个中文只占2个字节,所以存汉字是没有问题的,但是不能超出这个长度
作者: 吕振中    时间: 2013-8-16 21:57
  1. public class chardemo{
  2. public static void main(String args[]) {
  3. char s ='汉';
  4. System.out.print(s);
  5. }
  6. }
复制代码
JAVA默认的编码是UNICODE.在JAVA中一个汉字占两个字节。

以下编码可以供您参考:





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2