Java 中的 Scanner 类:构造函数和方法的类型,如何使用 [附示例]

已发表: 2020-07-28

任何使用 Java 编程语言的人都非常了解 Java 中的 Scanner 类。 而对于有抱负的 Java 开发者,他们不知道 Scanner 类是什么以及如何在 Java 中使用 Scanner 类,这篇文章是对它的完美介绍。

在这篇文章中,我们将详细讨论 Java 中的 Scanner 类、它的不同方法以及它们的功能。 所以,如果你期待更多地了解 Java 中的 Scanner 类,请继续阅读直到最后!

目录

Java 中的 Scanner 类是什么?

Java 中的 Scanner 类主要用于获取用户输入。 java.util 包包含它。 Scanner 类不仅扩展了 Object 类,还可以实现 Iterator 和 Closeable 接口。 它使用分隔符将用户输入分割成标记,默认情况下,分隔符是空格。

使用 Scanner 类非常容易——首先,您创建该类的一个对象,然后使用 Scanner 类文档中提供的任何可用方法。

除了作为获取用户输入数据的最简单方法之一之外,Scanner 类还广泛用于通过使用正则表达式来解析字符串和原始类型的文本。 例如,您可以使用 Scanner 类来获取不同原始类型的输入,例如 int、long、double、byte、float 和 short 等等。

您可以像这样声明 Java Scanner 类:

公共最终扫描仪

扩展对象

实现迭代器<String>

如果要获取读取用户输入的Scanner类的实例,则必须在Scanner类的构造函数中传递输入流(System.in),如下:

Scanner in = new Scanner(“Hello upGrad”);

阅读: Java 如此受开发人员欢迎的 6 大原因

有哪些不同的 Scanner 类构造函数?

以下是六个常用的 Scanner 类构造函数:

  1. Scanner(File source) - 它创建一个新的 Scanner 以生成从特定文件扫描的值。
  2. Scanner(InputStream source) - 它创建一个新的 Scanner 以生成从指定输入流扫描的值。
  3. Scanner(Readable source) - 它创建一个新的 Scanner 以提供从指定源扫描的值。
  4. Scanner(String source) - 它创建一个新的 Scanner 以生成从特定字符串扫描的值。
  5. Scanner(ReadableByteChannel source) – 它创建一个新的 Scanner 以生成从指定通道扫描的值。
  6. Scanner(Path source) - 它创建一个新的 Scanner 以生成从指定文件扫描的值。

有哪些不同的 Scanner 类方法?

就像 Scanner 类构造函数一样,还有一套全面的 Scanner 类方法,每个方法都有一个独特的用途。 您可以将 Scanner 类方法用于不同的数据类型。 下面是最广泛使用的 Scanner 类方法的列表:

  1. void [close()] - 此方法用于关闭扫描仪。
  2. pattern [delimiter()] - 此方法有助于获取 Scanner 类当前使用的 Pattern 以匹配分隔符。
  3. Stream<MatchResult> [findAll()] – 它提供匹配指定模式字符串的匹配结果流。
  4. String [findInLine()] - 它有助于查找从指定字符串创建的模式的下一次出现。 此方法不考虑分隔符。
  5. String [nextLine()] – 用于获取被扫描器对象跳过的输入字符串。
  6. IOException [ioException()] - 此方法有助于获取 Scanner 可读的最后投射的 IOException。
  7. Locale [locale()] – 它获取 Scanner 类的 Locale。
  8. MatchResult [match()] – 它提供了 Scanner 执行的最后一次扫描操作的匹配结果。
  9. BigDecimal [nextBigDecimal()] - 此方法用于将输入的下一个标记扫描为 BigDecimal。
  10. BigInteger [nextBigInteger()] - 此方法将输入的下一个标记扫描为 BigInteger。
  11. byte [nextByte()] – 它扫描用户输入的下一个标记作为字节值。
  12. double [nextDouble()] – 它将用户输入的下一个标记扫描为双精度值。
  13. float [nextFloat()] - 此方法将输入的下一个标记扫描为浮点值。
  14. int [nextInt()] - 此方法用于将输入的下一个标记扫描为 Int 值。
  15. 布尔值:
  • [hasNext()] – 如果 Scanner 在用户输入中有另一个标记,则此方法返回 true。
  • [hasNextBigDecimal()] – 此方法检查扫描器输入中的下一个标记是否可以通过使用 nextBigDecimal() 方法解释为 BigDecimal。
  • [hasNextBoolean()] – 它检查扫描器输入中的下一个标记是否可以使用 nextBoolean() 方法解释为布尔值。
  • [hasNextByte()] – 它使用 nextBigDecimal() 方法检查扫描器输入中的下一个标记是否可解释为字节。
  • [hasNextFloat()] – 它使用 nextFloat() 方法检查扫描器输入中的下一个标记是否可解释为浮点数。
  • [hasNextInt()] – 它使用 nextInt() 方法检查扫描器输入中的下一个标记是否可解释为 Int。

退房:印度的 Java 开发人员薪水

如何在 Java 中使用 Scanner 类?

正如我们之前提到的,在 Java 中使用 Scanner 类非常容易。 下面是一个示例,演示如何使用nextLine()方法实现 Scanner 类:

导入java.util.*;

公共ScannerExample {

公共静态无效主要(字符串参数[]){

扫描仪输入 =扫描仪(System.in);

System.out.print("请输入您的姓名:");

字符串名称 = in.nextLine();

System.out.println(“名称为:” + name);

附寄();

}

}

如果您运行此程序,它将提供以下输出:

请输入您的姓名:约翰·汉克斯

姓名:约翰·汉克斯

另请阅读:什么是 Java 中的类型转换 | 作为初学者理解类型转换

包起来

本文介绍了 Java 中 Scanner 类的基础知识。 如果您熟悉 Scanner 类的结构和方法,通过时间和不断的练习,您将掌握如何在 Java 程序中使用 Scanner 类的技巧。

如果您有兴趣了解有关 Java、全栈软件开发的更多信息,请查看 upGrad 和 IIIT-B 的全栈软件开发 PG 文凭,该文凭专为在职专业人士设计,提供 500 多个小时的严格培训,9 个以上的项目和任务、IIIT-B 校友身份、实用的实践顶点项目和顶级公司的工作协助。

为未来的职业做准备

行业值得信赖的学习 - 行业认可的认证。
了解更多@升级