Java Console数据读入详解:BufferedReader, DataInputStream, Scanner

需积分: 22 2 下载量 58 浏览量 更新于2024-07-13 收藏 1.75MB PPT 举报
"这篇资源主要关注Java编程中在控制台(Console)下如何读取数据,涉及了多种读取方法,包括BufferedReader、DataInputStream(已过时)和Scanner(自JDK 1.5开始引入)。此外,还提到了一个名为ReadNum.java的示例程序,可能是用于演示这些数据读取方法的代码片段。资源还提到了一些Java学习的参考书籍和课程大纲,涵盖了从基础到高级的主题,如面向对象编程、异常处理、多线程等。" 在Java编程中,控制台数据输入是基础操作之一。以下是关于几种不同数据读取方式的详细说明: 1. **BufferedReader**: BufferedReader是Java.io包中的类,主要用于从字符输入流中读取文本。它通过缓冲区提高读取效率,可以按行读取数据,通常与InputStreamReader一起使用,以将字节流转换为字符流。例如: ```java BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String line; while ((line = br.readLine()) != null) { System.out.println(line); } ``` 2. **DataInputStream**(已过时): DataInputStream是Java.io包中的类,用于读取基本Java类型的数据,如int、float、double等。然而,由于它不支持读取字符串,现在通常被更灵活的Reader类取代。例如: ```java DataInputStream dis = new DataInputStream(System.in); int num = dis.readInt(); System.out.println("读取的整数是:" + num); ``` 注意,由于DataInputStream已过时,不建议在新代码中使用。 3. **Scanner**: Scanner是自JDK 1.5起引入的,它提供了更为灵活的输入处理,可以读取基本类型、字符串、甚至正则表达式的匹配。Scanner可以直接从System.in创建实例,方便地读取控制台输入。例如: ```java Scanner scanner = new Scanner(System.in); System.out.print("请输入一个整数:"); int num = scanner.nextInt(); System.out.println("你输入的整数是:" + num); ``` 资源中列出的Java学习资源包含了多本经典教材和作者,它们涵盖了广泛的Java知识,适合初学者和有一定经验的开发者。从这些资源中,你可以系统地学习Java的基础语法、面向对象编程、异常处理、多线程等核心概念,以及高级主题如网络编程、数据库编程等。 这个资源为Java初学者提供了一个全面的学习路径,不仅教授了数据输入的基本技巧,还强调了持续学习和自我提升的重要性。学习者可以根据提供的资料和课程大纲逐步深入,掌握Java编程的核心技能。