java中如何输入字符
输入单个字符的方法
使用 Scanner 类的 next().charAt(0) 方法可以读取用户输入的第一个字符:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个字符:");
char ch = scanner.next().charAt(0);
System.out.println("输入的字符是:" + ch);
scanner.close();
}
}
说明
scanner.next()读取用户输入的字符串。charAt(0)获取字符串的第一个字符。
使用 System.in.read() 方法
System.in.read() 可以直接读取用户输入的字符(ASCII 码),需强制转换为 char 类型:

import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
System.out.print("请输入一个字符:");
char ch = (char) System.in.read();
System.out.println("输入的字符是:" + ch);
}
}
说明
- 需要处理
IOException异常。 - 仅读取一个字符,剩余输入可能留在缓冲区中。
使用 BufferedReader 读取字符
结合 BufferedReader 和 InputStreamReader 可以高效读取字符:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入一个字符:");
char ch = (char) reader.read();
System.out.println("输入的字符是:" + ch);
reader.close();
}
}
说明
- 适用于更复杂的输入场景,如逐字符读取。
- 同样需要处理
IOException。
输入多个字符或字符串
若需输入多个字符(如字符串),可以使用 Scanner.nextLine():
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入字符串:");
String input = scanner.nextLine();
System.out.println("输入的字符串是:" + input);
scanner.close();
}
}
说明
nextLine()读取整行输入,包括空格。- 若仅需读取不含空格的单词,可使用
next()。
注意事项
- 使用
Scanner时,注意next()和nextLine()的区别,避免缓冲区问题。 - 直接读取字符的方法(如
System.in.read())可能需额外处理换行符。 - 关闭资源(如
Scanner、BufferedReader)以避免内存泄漏。






