StackTc
2018-01-28 07:08
采纳率: 61.9%
浏览 4.4k
已采纳

char中是否可以储存汉字?

下面是一道面试题。

但是本人不是很理解,而且无法写出代码,
有人解释下并给出程序吗,立马给C币

22、char 型变量中能不能存贮一个中文汉字,为什么?
答:char类型可以存储一个中文汉字,因为Java中使用的编码是Unicode(不选择任何特定的编码,直接使用字符在字符集中的编号,这是统一的唯一方法),一个char类型占2个字节(16比特),所以放一个中文是没问题的。
如何将基本数据类型转换为字符串?
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

13条回答 默认 最新

  • Oceanside_yh 2018-01-28 07:21
    已采纳
    点赞 打赏 评论
  • abc931005451 2018-01-28 07:29

    可以的,char可容纳单个字符的一种基本数据类型

    点赞 打赏 评论
  • m_BlueSky 2018-01-28 07:34

    Integer I1=new Integer(i1);//生成Integer类
    //分别调用包装类的toString() 方法转换为字符串
    String si1=I1.toString();
    此时si1就是为string字符串了

    点赞 打赏 评论
  • qq_33345063 2018-01-28 07:57

    不可以,char是字符

    点赞 打赏 评论
  • three_bookrack 2018-01-28 08:02

    char是按照字符存储的,不管英文还是中文,固定占用占用2个字节,用来储存Unicode字符。范围在0-65536。
    unicode编码字符集中包含了汉字,所以,char型变量中当然可以存储汉字啦。不过,如果某个特殊的汉字没有
    被包含在unicode编码字符集中,那么,这个char型变量中就不能存储这个特殊汉字。

    点赞 打赏 评论
  • 荆轲刺秦 2018-01-28 08:15

    char[] c = {'好','你'};

    // print Unicode value
    for(int i = 0 ;i< c.length;i++)
    System.out.println(Character.codePointAt(c,i));

    点赞 打赏 评论
  • johnson1013 2018-01-28 10:04

    一个汉字两个字节,Char类型一个字节,不能存储吧

    点赞 打赏 评论
  • fchunbo 2018-01-28 10:41

    在Java中char是占两个字节的,是可以的。基本数据类型转换为字符串也是很简单的。比如:String str = 1 + "" ,这样就变成了字符串了

    点赞 打赏 评论
  • Sriven 2018-01-29 03:29

    可以,只不过要用两个要用两个char类型的空间储存,例如一个好字,用char[0]和char[1]来储存,输出时也要两个%c

    点赞 打赏 评论
  • beShea 2018-01-29 10:57

    Java中使用的编码是Unicode(不选择任何特定的编码,直接使用字符在字符集中的编号,这是统一的唯一方法),一个char类型占2个字节(16比特),一个汉字也是占两个字节的,所以放一个中文是没问题的。

    点赞 打赏 评论
  • MOJY_1825 2018-02-01 06:32

    char 在Java中是2个字节。java采用unicode,2个字节(16位)来表示一个字符。所以可以的

    点赞 打赏 评论
  • Lucky_SS 2018-02-02 07:05

    java中当然可以了呀,char为两个字节,刚好一个汉字。基本数据类型转化为字符串 用String.valueOf()

    点赞 打赏 评论
  • 萝卜头柯克船长 2018-02-12 12:40

    char占用2个字节,可以存储绝大部分汉字;之所以说是绝大部分,因为char使用ucs-2编码字符,只能表示unicode中零号平面的字符。而String等使用UTF-16BE(扩展自ucs-2,使用2字节编码零号平面字符,同ucs-2;使用4字节编码扩展字符),可以表示所有unicode。因为char只占两个字符,所以表示不了扩展字符,而String却可以表示,其使用两个char存储一个扩展字符。

    点赞 打赏 评论