黑马程序员技术交流社区

标题: char型变量中能不能存贮一个中文汉字?为什么? [打印本页]

作者: 张强+    时间: 2011-11-10 21:37
标题: char型变量中能不能存贮一个中文汉字?为什么?
char型变量中能不能存贮一个中文汉字?为什么?
作者: 柴永菲    时间: 2011-11-10 22:18
不能
char 只占一个字节。
汉字通常是两个字节来表示,可以使用char数组来表示汉字。

作者: qy    时间: 2011-11-10 22:25
char类型 是unicode编码 一个char类型是十六个字节,一个中文才两个字节。所有可以中文的汉字
作者: qy    时间: 2011-11-10 22:29

所以可以存储一个中文汉字
作者: 坚强    时间: 2011-11-10 22:39
可以的,看图,程序没有报错

未命名1.jpg (12.49 KB, 下载次数: 436)

未命名1.jpg

未命名.jpg (2.99 KB, 下载次数: 443)

未命名.jpg

作者: 咖啡    时间: 2011-11-10 23:00
不能,因为char是字符类型,只能存储一个字节,而一个中文有两个字节,即char字符类型是不能存储中文字节的。
作者: 绿影    时间: 2011-11-11 03:04
这个说法绝对是错误的。一个Char占16bit位(2个字节),而在Java 是遵循 unicode 4.0。 标准的unicode自然一个中文汉字是两个字节表示。
C:\char bit.bmp
而且经过测试确实是没有问题的。
作者: 史晓霞    时间: 2011-11-11 07:19
我在机子上试了试可以,让后找到的完整答案,仅供参考,char型变量是用存储Unicode编码的字符的,unicode编码字符集中包含了汉字,所有,char型变量中当然可以存储汉字啦,不过,如果某个特殊的汉字没有被包含在unicode编码字符集中,那么char型变量中就不能存储这个特殊汉字。我们一般都不用char存储,都是存储单个字符
作者: 张翼    时间: 2011-11-11 07:28
char中一个英文字符占一个字节,而一个汉字占两个字金额,所以空间不够。
作者: 高双武    时间: 2011-11-11 07:55
char 能存储的字符ascii编码范围是0-127,即可以看下面的表中的字符

作者: 宁超    时间: 2011-11-11 10:11
char   c   =   '梦 ';
System.out.println(c);
作者: 骚灵小情歌    时间: 2011-11-11 10:47
学习了.




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