本帖最后由 张洪慊 于 2013-5-1 15:43 编辑
http://bbs.itheima.com/thread-48226-1-1.html- 在上面帖子中的
- char[] buf =new char[3];
- 除了第一个元素,后面打印的均是默认值,空字符,我的机器为什么会打印出a
- 下面讨论了下:
- 以前一直以为字符数组默认值为ASCII码为0的字符->ASCII码表中说的是NULL->空字符
- 这里的NULL和java中的NULL是两个概念,null在java中代表常量,通常用于赋值给引用.
- 这里我们就把它当成空字符.
复制代码- 那么如果把一个空字符赋值给一个字符变量?
- char c='';//编译无法通过
- 于是找到这个:http://baike.baidu.com/view/73.htm#1_1
- C中用'\0'表示空字符,java中经过测试也可以(我刚知道- -)
- char c='\0';//可以
- //测试字符数组默认值
- char[] ch= new char[3];
- System.out.println(ch[1]=='\0');//true
- 我想输出下数组中的元素:
- System.out.println(ch[1]);//按理说在屏幕上应该显示空白,但是我的机器打印了a - -!!
- System.out.prinltn((char)0);//还是a(应该输出ASCII码为0的字符)
- 我在不停查找最终找到这个解释:维基百科空字符http://zh.wikipedia.org/wiki/%E7%A9%BA%E5%AD%97%E7%AC%A6
- 其中有一句话:这个字符原来的意思类似NOP指令,当送到列表机或终端机时,设备不需作任何的动作(不过有些设备会错误的打印或显示一个空白)。
- 额...就这些了,不吐不快(*^__^*)
复制代码 |
|