Java键盘输入方法详解:System.in和Scanner类

需积分: 0 0 下载量 194 浏览量 更新于2024-07-13 收藏 146KB PPT 举报
Java 输入输出流知识点补充 Java 中有两种方法来接收键盘输入:使用 Java 中的输入输出流类库和使用 java.util 包中的 Scanner 类。下面将详细介绍第一种方法,即使用 System.in 输入流来接收键盘输入。 **System.in 输入流** System.in 是 Java 中的“标准”输入流,可以使用 read() 方法读取键盘来的字节流。注意:在调用 read() 方法时,必须在主调方法头上加上 throws IOException,以便抛出输入输出异常。 **输入单个字符** 可以使用 System.in.read() 方法从键盘读入一个输入的字节,然后使用强制转换将其转换成字符类型。例如: ```java char ch = (char) System.in.read(); ``` **输入字符串** 可以使用 System.in.read() 方法输入字符串。方法如下: 1. 定义一个字节数组,例如 `byte b[] = new byte[512];` 2. 使用 `System.in.read(b)` 方法从键盘输入若干字符,其对应的 ASCII 码将存入数组的相应位置,`n` 为读入字符的个数。 3. 可以利用循环语句将数组中每个元素强制转化成 char 类型输出。 例如: ```java int i = 0; while (i < n) { System.out.print((char) b[i]); i++; } ``` 或者,可以用数组构造一个字符串,例如: ```java String str = new String(b, 0, n); System.out.println(str); ``` **使用 System.in.read() 方法的注意事项** * 在调用 read() 方法时,必须在主调方法头上加上 throws IOException,以便抛出输入输出异常。 * read() 方法返回的值是一个整数,表示读取的字节数。如果读取失败,返回 -1。 * 如果读取的字节流为空,read() 方法将阻塞直到有输入。 **总结** 本文档介绍了使用 System.in 输入流来接收键盘输入的方法,包括输入单个字符和输入字符串两种方式。通过使用 System.in.read() 方法,可以从键盘读取字节流,并将其转换成字符或字符串。