可以,保持它的其实形式
short几字节.2字节以上就可以表示汉字了
专家6级?不知道你怎么混到的,别出来误人子弟好么?
@snowfog: .....你学过C吗?
@吴瑞祥: 看清楚题目,人家问的是java,java和C能一样吗?
@snowfog: 看问题角度不一样吧. 只要愿意做,肯定是可以实现.
short的长度有2个字节,就可以存unico编码后的值了吧?
@吴瑞祥: short怎么存这东西?
@吴瑞祥: java是强类型的,如何存?
@snowfog: 8fbe机内表示是:1000 1111 1011 1110
两个字节.把它看成整数是:36798,如果是有符号数是...算了.懒得去算.
只是说一下机内都是一块内存空间,类型只是用来表示这个空间数据结构的.可以任意定义.
强类型不是这样理解的,C也是强类型.java和c#这种叫做类型安全,为的是不让引用指向错误的内存空间,但硬要这样做也是可以的.最简单的例子就是序列化为二进制,再反序列化为目标类型.
何时整型变量都能存储汉字了?
想问你听过unicode码值吗?它用2个两个字节来编码一个,就是楼上说的
8fbe机内表示是:1000 1111 1011 1110
两个字节.把它看成整数是:36798,他支持有7000多个汉字,达字还是支持的,你自己就会死死的记住short怎么用,就算别人说错了,楼主不知道验证?你就一顿完全反对?
楼上说可以的也是厉害
想问你听过unicode码值吗?它用2个两个字节来编码一个,就是楼上说的
8fbe机内表示是:1000 1111 1011 1110
两个字节.把它看成整数是:36798,他支持有7000多个汉字,达字还是支持的
@稳稳的河: 机器语言和高级语言一样吗?人家问一个java,你们扯那么多出来。我问你,底层所有数据都是0和1,那么java要8大基本数据类型做什么?反正最后都能转换成0和1,我要基本数据类型做什么?
@snowfog: 所以我们不是一开始就说,用其他的形式,你看了没
@稳稳的河: 你这句“专家6级?不知道你怎么混到的,别出来误人子弟好么?”别人什么都没说错,就算错了,这话也不能乱说,谁会什么都知道?不和你吵了,我看到这句激动了
@稳稳的河: 我也道个歉
@稳稳的河: 所以我反驳的不是你,是你楼下的那位。什么事都说不清楚会给很多人带来误解。就像java不支持多继承,但是有种情况是支持多继承的。但是新手呢?新手就会犯迷糊了
@snowfog: 我激动了,技术问题吵吵没什么,你别介意
@稳稳的河: 是的
@snowfog: 推荐你看篇文章,有时候数据类型就是需要你自己去拆分,设计,http://chuansong.me/n/1489885
@稳稳的河: 好的,谢谢
评论好精彩
在不同系统中是不一样的,但是short 确实不可以存储汉子,char 可以存储汉字,char 采用unicode 编码,所以可以存储汉子
好像java中长度于小32位的数字,在jvm中都是按32位(也就是int)来操作的,何必用Short。
表示是能表示,如果你通过各种& 与| 实现了,你就会发现整个过程都是32位的int。