我目前正在研究Java: Herbert Schildt 的完整参考第 8 版。我是最近的 compsci 毕业生和新手程序员。
在 I/O 章节中,本书提供了一小段示例代码(我已将其包含在下面)。该代码创建了一个 BufferedReader,它与 InputStreamReader(System.in) 作为参数一起提供(第 6 行)。我检查了InputStreamReader 的 Java SE7 文档,它说它“[...]读取字节并将它们解码为字符 [...]”。我的问题是,为什么在示例代码的第 9 行将 br.read() 分配给 'c' 时有必要(或者甚至有必要)将其转换为 char?
非常感谢您提供的任何帮助。
杰米
1. import java.io.*
2.
3. class BRRead {
4. public static void main(String args[]) throws IOException {
5. char c;
6. BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
7. System.out.println("Enter characters, 'q' to quit.");
8. do {
9. c = (char) br.read();
10. System.out.println(c);
11. } while(c != 'q');
12. }
13. }