黑马程序员技术交流社区

标题: io问题 [打印本页]

作者: qisikudingcha    时间: 2014-1-21 23:24
标题: io问题
InputStream 的read()方法从输入流中读取数据的下一个字节,但是我在控制台输入a后,还是能正常输出a,java中不是英文
和中文都占两个字节吗??为什么a还是能正常输出
  1. public static void main(String[] args) {
  2.                 InputStream is=System.in;
  3.                 try {
  4.                         System.out.println((char)is.read());
  5.                 } catch (IOException e) {
  6.                         e.printStackTrace();
  7.                 }
  8.         }
复制代码

作者: 山治0712    时间: 2014-1-21 23:43
System.in 应该使用的系统底层资源吧,is流对象也就被装饰了,不晓得有没有道理_///
作者: 嘿╰_╯往哪里跑    时间: 2014-1-22 08:38
a是一个单字符   占一个字节  所以能够输出出来
作者: qisikudingcha    时间: 2014-1-22 11:27
嘿╰_╯往哪里跑 发表于 2014-1-22 08:38
a是一个单字符   占一个字节  所以能够输出出来

java中一个字符不是占两个字节吗
作者: 嘿╰_╯往哪里跑    时间: 2014-1-22 14:38
qisikudingcha 发表于 2014-1-22 11:27
java中一个字符不是占两个字节吗

亲  a是一个字母  又不是汉字,一个汉字才是占两个字节
作者: Rockray    时间: 2014-1-22 17:58
一个字节。。。
作者: qisikudingcha    时间: 2014-1-22 19:02
嘿╰_╯往哪里跑 发表于 2014-1-22 14:38
亲  a是一个字母  又不是汉字,一个汉字才是占两个字节

但是java采用unicode编码,汉字和英文都占两个字节??
作者: 孤独的天奇    时间: 2014-1-22 23:16
char就是两个字节,为什么不能正常显示呢




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