📜  Java从控制台读取输入的方法(1)

📅  最后修改于: 2023-12-03 15:02:03.982000             🧑  作者: Mango

Java从控制台读取输入的方法

在Java中,通过控制台读取输入是一种基本的操作。Java提供了多种方法来实现从控制台读取输入,本文将介绍其中两种:Scanner类和BufferedReader类。

Scanner类

Scanner类是Java标准库中的一个类,可以用于读取各种类型的输入。它的构造函数可以接受多种类型的输入流,包括标准输入流System.in。使用Scanner读取控制台的输入,需要创建Scanner对象,使用next方法来获取字符串类型的输入,使用nextInt方法来获取整数类型的输入,使用nextDouble方法来获取双精度类型的输入等。

示例代码:
import java.util.Scanner;

public class ConsoleInputDemo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入您的姓名:");
        String name = scanner.next();
        System.out.print("请输入您的年龄:");
        int age = scanner.nextInt();
        System.out.println("姓名:" + name + ",年龄:" + age);
    }
}

输出:

请输入您的姓名:Tom
请输入您的年龄:18
姓名:Tom,年龄:18
BufferedReader类

BufferedReader类是Java标准库中的一个类,可以用于缓存字符输入流。与Scanner类不同,BufferedReader类可以一次性读取一行输入,并且可以设置字符编码。使用BufferedReader读取控制台的输入,需要创建BufferedReader对象,使用readLine方法来获取一行字符串类型的输入。

示例代码:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class ConsoleInputDemo {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        System.out.print("请输入您的姓名:");
        String name = reader.readLine();
        System.out.print("请输入您的年龄:");
        int age = Integer.parseInt(reader.readLine());
        System.out.println("姓名:" + name + ",年龄:" + age);
    }
}

输出:

请输入您的姓名:Tom
请输入您的年龄:18
姓名:Tom,年龄:18
总结

Java提供了两种经典的方式来从控制台读取输入:Scanner和BufferedReader,它们都有自己的特点和用途。开发者可以根据实际情况和需求,选择合适的方法来读取输入。