在线工具站
- 推荐一个程序员在线工具站:程序员常用工具(http://cxytools.com),有时间戳、JSON格式化、文本对比、HASH生成、UUID生成等常用工具,效率加倍嘎嘎好用。
程序员资料站
- 推荐一个程序员编程资料站:程序员的成长之路(http://cxyroad.com),收录了一些列的技术教程、各大面试专题,还有常用开发工具的教程。
小报童专栏精选Top100
- 推荐一个小报童专栏导航站:小报童精选Top100(http://xbt100.top),收录了生财有术项目精选、AI海外赚钱、纯银的产品分析等专栏,陆续会收录更多的专栏,欢迎体验~
在开发 Java 程序时,处理用户输入是一个常见的需求。无论是从控制台读取用户输入,还是从文件中提取数据,Scanner
类都是一个功能强大且灵活的工具。Scanner
类提供了一种简单而直观的方式来解析各种类型的输入,包括整数、字符串、浮点数等。本文将深入探讨 Scanner
类的用法、工作原理,以及一些常见的应用场景,帮助程序员更好地掌握这一工具。
1. Scanner
类概述
Scanner
类位于 java.util
包中,是一个用于解析输入流和字符串的类。它可以将输入分割为多个标记(token),并根据指定的模式对这些标记进行解析。Scanner
类的设计理念是简单、灵活,适合处理各种不同的数据源,包括控制台输入、文件输入、字符串等。
1.1 基本概念
Scanner
类的核心功能是将输入数据按空格或其他分隔符分割成若干个标记,然后依次解析这些标记。它支持多种基本数据类型,如整数(int)、浮点数(float、double)、字符串(String)等,并可以通过正则表达式来指定分隔符或解析模式。
1.2 构造函数
Scanner
类提供了多个构造函数,可以根据不同的需求来创建 Scanner
对象。常见的构造函数包括:
-
从
InputStream
创建:Scanner scanner = new Scanner(System.in);
这种方式常用于从控制台读取用户输入。
-
从
File
创建:Scanner scanner = new Scanner(new File("data.txt"));
这种方式常用于从文件中读取数据。
-
从
String
创建:Scanner scanner = new Scanner("This is a sample text.");
这种方式用于从字符串中解析数据。
2. Scanner
类的基本用法
2.1 从控制台读取输入
Scanner
类最常见的用法之一是从控制台读取用户输入。以下是一个简单的例子:
import java.util.Scanner;
public class ScannerExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in)