java 中的 char 类型de疑问
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 中的 char 类型de疑问相关的知识,希望对你有一定的参考价值。
书上说short类型是16位的,char类型也是16位的,但是前者的表示范围是-32768~32767,char的表示范围怎么是0~255呢?如果只能表示0~255,那么怎么存放这么多汉字啊?
对啊,我知道只能存一个汉字,问题是char的范围如果是0~255,难道就char只能表示256个汉字吗??
Java的字符类型采用的是UTF-16编码方式对Unicode编码表进行表示。其中一个char类型固定2Bytes(16bits)。
你用二进制表示看看是多少追问
如何用2进制看呢
追答二进制这样
1111111111111111
再转成10进制看看是多少
也就是可以表示0-65535?
参考技术A 只能存放一个汉字。。存放多个汉字就成为一个char的数组了。。。。String类型就是CHar类型的数组。 参考技术B chart 只能存一个汉字c++中关于char与cin的疑惑
char的声明有点疑问
比如 char c;
cin>>c;
此时为什么可以输入很多 比如输入 abcdefghi char类型不是不能接受字符串类型吗,因为c不是char数组,再说输入的也不是一个字符,对char来说很长啊。
其次 当再次使用
cin>>c;
的时候读取一个字符,为什么cin每次只读取一个字符啊,上面这些把我搞混了,请大家指点
当按回车传给变量C的时候多余的就会被抛弃并报错。追问
并没有抛弃并报错啊
参考技术A 因为c是字符型变量,每次只会输入一个给变量c。如果你想输入一串字符(如abcdef),可以使用数组指针
(如
define N 6;
char c[N];
for(i=0;i<N;i++)
cin>>c[0];
)
这样字符串输入成功,输出亦然。 参考技术B 感觉这跟c语言的getchar很像:
两者都是读入一个字符串,但是只把字符串的第一个字符传给变量
你输入abcdefghi,那么char就是a 参考技术C 你 cout 下看看是什么样子的....
以上是关于java 中的 char 类型de疑问的主要内容,如果未能解决你的问题,请参考以下文章
Java 初次再体验 带着疑问思考基本数据类型和数组及我为啥子要学Java 及运算等等 就是那个啥Java和别的语言都要干的事 基本计算0-0