一直以来,我们都使用System.out.println()方法向屏幕打印内容,那么如何接收输入的内容呢?本小节所学习的Scanner类就可以实现对输入内容的接收。在本小节,我们将学习Scanner 类的定义,如何使用Scanner类以及其常用方法,在学完这些基础知识后,我们会在最后学习一个比较有趣的实例程序。

1. 定义

Scanner是一个简单的文本扫描器,可以解析基础数据类型字符串

它位于java.util包下,因此如果要使用此类,必须使用import语句导入:

import java.util.Scanner;

2. Scanner 对象创建

想要使用Scanner类就要了解如何创建对象,我们可以使用如下代码创建一个扫描器对象:

Scanner scanner = new Scanner(System.in);

构造方法的参数System.in表示允许用户从系统中读取内容。本小节,我们的示例代码中都将使用这个构造方法。

<aside> 📢 TipsSystem.in是一个InputStream类型,Scanner类还有很多接收其他类型的构造方法。这里不详细介绍。

</aside>

3. 常用方法

3.1 next()及其同伴方法

想要获取用户的输入,只有对象是不行的,还要配合它的实例方法。此时配合Scanner类中的next()方法及其同伴方法可以获取指定类型的输入。

3.1.1 next() 方法

next()方法的返回值是字符串类型,可以使用此方法,将用户输入的内容扫描为字符串。我们来看一个示例,获取并打印用户输入的内容:

import java.util.Scanner;

public class ScannerDemo1 {
    public static void main(String[] args) {
        // 创建扫描器对象
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一段内容,输入回车结束:");
        // 可以将用户输入的内容扫描为字符串
        String str = scanner.next();
        // 打印输出
        System.out.println("您输入的内容为:" + str);
        // 关闭扫描器
        scanner.close();
    }
}

在代码中我们注意到,在代码块的最后调用了close()方法,这个方法用于关闭当前扫描器,就和电脑的开关机一样,使用电脑前要开机,而当用不到的时候最好关掉。

编译执行代码,屏幕将会提示:

请输入一段内容,输入回车结束: