Java控制台输入解析:从C到Java的演变

需积分: 14 12 下载量 12 浏览量 更新于2024-08-09 收藏 4.9MB PDF 举报
"这篇文档是关于Java核心技术的,特别是如何在Java中读取控制台输入。文中提到在Java 1.0中,控制台输入通过字节流处理,但随着Java 2的发布,字符流成为了首选方法,因为它更符合国际化标准且便于维护。Java中的控制台输入是通过`System.in`进行的,可以使用`BufferedReader`结合`InputStreamReader`进行读取。具体步骤是先创建一个`InputStreamReader`对象,传入`System.in`,然后用`BufferedReader`包装这个`InputStreamReader`对象。`BufferedReader`的`read()`方法可以用来读取单个字符,遇到流结束时返回-1。此外,文档还简述了Java语言的起源,强调Java从C和C++语言中继承特性,并介绍了计算机语言发展的两个驱动力:适应环境变化和提高编程艺术。" 本文详细讲解了Java中读取控制台输入的方法,重点在于使用字符流而非过时的字节流。在Java中,控制台输入由`System.in`表示,而读取控制台输入的关键是创建一个`BufferedReader`对象,通过包装`InputStreamReader`,后者将字节流转换为字符流。初始化`BufferedReader`的典型代码如下: ```java BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ``` 一旦有了`BufferedReader`对象,就可以调用`read()`方法读取字符。这个方法会返回读取的字符的整数值,或者在到达流末尾时返回-1。以下示例展示了如何使用`read()`方法读取控制台输入直到用户输入"q": ```java char ch; while ((ch = (char) br.read()) != 'q') { // 处理读取的字符 } ``` 在历史部分,文档追溯了Java语言的起源,指出Java受到了C和C++的影响,特别是在语法和面向对象特性上。C语言的出现改变了编程范式,推动了结构化编程的发展。Java的设计是为了应对不断变化的环境需求和编程艺术的提升,它在保留了C语言效率的同时,引入了内存管理、垃圾回收等创新特性,使其成为一种更适合网络环境和跨平台应用的编程语言。