黑马程序员技术交流社区

标题: 求解:一个小问题? [打印本页]

作者: 刘经鹏    时间: 2012-12-24 11:35
标题: 求解:一个小问题?
本帖最后由 刘经鹏 于 2012-12-24 17:17 编辑

char型变量中能不能存储一个中文汉字?
作者: 奋斗的青春    时间: 2012-12-24 11:39
能,java中的字符就是指char类型的变量,无论中文还是英文,都是占2个字节,因为都是用Unicode编码,一个Unicode编码就是16位,也就是2个字节。所以放一个中文是没问题的

所以:

public class Test {

    public static void main(String[] args) {

       String myName="My name is 刺客SEO";

       char ke='刺'; //合法的

       System.out.println("我的姓氏为:"+ke); //输出:我的姓氏为:刺

       System.out.println(myName.substring(0, 1)); //输出:M

       System.out.println(myName.substring(myName.length()-1, myName.length())); //输出:通

    }

}

substring 处理的最小单元就是一个字符,也就是一个char类型,2个字节 。
作者: 清水    时间: 2012-12-24 11:41
  1. class Test4 {
  2.         public static void main(String args[])
  3.         {
  4.                 char c = '中';
  5.             System.out.println(c);
  6.         }
  7. }
复制代码
结果是可以,不过这段代码存成java文件的时候,要和你电脑上用的编码一致。也就是gbk或者gb2312.
作者: aner    时间: 2012-12-24 12:10
可以的。因为JAVA默认的编码是UNICODE,不是ASCII的一个char占2个字节
可以写个程序测试
public class Test
{
public static void main(String[] args)
{
char s='我';
System.out.println(s);
}
}

作者: 黑马-邢广耀    时间: 2012-12-24 12:23
能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,char的存储空间为2个字节,而一个汉字占用空间大小也是两个字节,当然可以存放啦!!




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