专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

Java中的Scanner操作详解

来源:小易整编  作者:小易  发布时间:2024-03-21 07:46
摘要:scanner是java中的一个常用类,用来读取控制台或文件中的输入数据。它提供了一种简单的方式来解析基本类型和字符串,并支持对正则表达式进行匹配。Scanner类位于java.util包中,因此在编写程序时需要import...

scanner 是 java 中的一个常用类,用来读取控制台或文件中的输入数据。它提供了一种简单的方式来解析基本类型和字符串,并支持对正则表达式进行匹配。

Java中的Scanner操作详解

Scanner 类位于 java.util 包中,因此在编写程序时需要 import 该包。在开始使用 Scanner 之前,我们需要创建一个 Scanner 对象来访问输入源。

创建 Scanner 对象的语法为:

Scanner scanner = new Scanner(System.in);
登录后复制

上面的代码创建了一个 Scanner 对象,可以使用它来读取标准输入流中的数据。除此之外,我们还可以使用其他的输入流来创建 Scanner 对象。

下面我们来看一些常用的 Scanner 操作。

读取字符串

我们可以使用 next() 方法来读取一个字符串,它会读取控制台输入中的下一个单词,并返回一个字符串。

Scanner scanner = new Scanner(System.in);System.out.print("请输入一个字符串:");String str = scanner.next();System.out.println("你输入的字符串是:" + str);
登录后复制

上面的代码运行结果:

请输入一个字符串:Hello World!你输入的字符串是:Hello
登录后复制

上述代码只读取了输入中的第一个单词"Hello",因为 next() 方法默认会使用空格分隔输入的字符串,所以它只会读取输入中的第一个单词。如果需要读取整个字符串,可以使用 nextLine() 方法。

读取整数

我们可以使用 nextInt() 或 nextLong() 来读取一个整数或长整数,如果输入的不是数值类型,会抛出 InputMismatchException 异常。

Scanner scanner = new Scanner(System.in);System.out.print("请输入一个整数:");int num = scanner.nextInt();System.out.println("你输入的整数是:" + num);
登录后复制

上面的代码运行结果:

请输入一个整数:123你输入的整数是:123
登录后复制读取浮点型数据

我们可以使用 nextFloat() 或 nextDouble() 来读取一个浮点型数据。如果输入的不是浮点型数据,会抛出 InputMismatchException 异常。

Scanner scanner = new Scanner(System.in);System.out.print("请输入一个浮点数:");float f = scanner.nextFloat();System.out.println("你输入的浮点数是:" + f);
登录后复制

上面的代码运行结果:

请输入一个浮点数:3.14你输入的浮点数是:3.14
登录后复制读取布尔类型数据

我们可以使用 nextBoolean() 方法来读取一个布尔类型数据,如果输入的值不是 true 或 false,会抛出 InputMismatchException 异常。

Scanner scanner = new Scanner(System.in);System.out.print("请输入一个布尔值(true/false):");boolean b = scanner.nextBoolean();System.out.println("你输入的布尔值是:" + b);
登录后复制

上面的代码运行结果:

请输入一个布尔值(true/false):true你输入的布尔值是:true
登录后复制读取正则表达式

Scanner 还提供了一个 findInLine() 方法来读取正则表达式。该方法可以读取控制台输入中第一次出现的正则表达式,并返回一个匹配的字符串。

Scanner scanner = new Scanner(System.in);System.out.print("请输入一个正则表达式:");String pattern = scanner.findInLine("\d+");System.out.println("你输入的正则表达式匹配的字符串是:" + pattern);
登录后复制

上面的代码运行结果:

请输入一个正则表达式:Hello 123 World!你输入的正则表达式匹配的字符串是:123
登录后复制

以上就是 Scanner 类的一些常用操作,希望对大家学习 Java 有所帮助。

以上就是Java中的Scanner操作详解的详细内容,更多请关注易企推科技其它相关文章!


本文地址:网络知识频道 https://www.hkm168.com/jiqiao/1152033.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


网络知识
小编:小易整编
相关文章相关阅读
  • 奇异值分解(SVD)简介及其在图片压缩中的示例

    奇异值分解(SVD)简介及其在图片压缩中的示例

    奇异值分解(SVD)是一种用于矩阵分解的方法。它将一个矩阵分解为三个矩阵的乘积,分别是左奇异向量矩阵、右奇异向量矩阵和奇异值矩阵。SVD在数据降维、信号处理、推荐系统等领域广泛应用。通过SVD,我们可以将高维数据降低到低维空间,从而提取出数...

  • 某台微机安装的是64位操作系统中,64位指的是什么

    某台微机安装的是64位操作系统中,64位指的是什么

    某台微机安装的是64位操作系统中,64位指的是cpu的字长,即cpu每次能处理64位二进制数据。字长是cpu的主要技术指标之一,指的是cpu一次能并行处理的二进制位数,字长总是8的整数倍,通常pc机的字长为32位,64位。本教程操作环境:w...

  • 什么是构造函数?详解JavaScript中的构造函数

    什么是构造函数?详解JavaScript中的构造函数

    作为原型和原型链的基础,先了解清楚构造函数以及它的执行过程才能更好地帮助我们学习原型和原型链的知识。本篇文章带大家详细了解一下javascript中的构造函数,介绍一下怎么利用构造函数创建一个js对象,希望对大家有所帮助!一个普通的函数被用...

  • mysql中的不等于符号是什么

    mysql中的不等于符号是什么

    mysql中的不等于符号有两种:“!=”和“”;它们都可用于判断数字、字符串、表达式是否不相等。对于“!=”和“”,如果两侧操作数不相等,返回值为1,否则返回值为0;如果两侧操作数有一个是null,那么返回值也是null。本教程操作环境:w...

  • 如何取消PPT中的所有动画效果和声音

    如何取消PPT中的所有动画效果和声音

    当我们为ppt添加了动画效果后,有时又会发现需要取消这些动画效果。那么,ppt动画效果怎么全部取消?幸运的是,powerpoint提供了一种简单而高效的方法。下面小编就来为大家讲讲如何去掉ppt的动画效果,让观众更好地关注您想要传达的信息。...

  • 什么是Linux系统中nc命令?nc命令的用法详解

    什么是Linux系统中nc命令?nc命令的用法详解

    这篇文章主要介绍了linux系统中nc命令的基本用法,nc命令非常之强大,这里先简单介绍它用来作端口扫描以及文件传输等的基础使用。功能说明:功能强大的网络工具,在网络工具中有“瑞士军刀”美誉,其有Windows和Linux的版本。因为它短小...

  • Java 中的各种锁有哪些?

    Java 中的各种锁有哪些?

      Java中15种锁的介绍  在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下:  公平锁/非公平锁  可重入锁/不可重入锁  独享锁/共享锁  互斥锁/读写锁  乐观锁...

  • 如何使用PHP中的字符串变量

    如何使用PHP中的字符串变量

    如何使用PHP中的字符串变量在PHP中,字符串变量是一种非常常见的数据类型,用于存储和操作文本数据。在本文中,我们将介绍如何使用PHP中的字符串变量,并提供一些具体的代码示例。字符串变量的声明和赋值在PHP中,要声明一个字符串变量,只需要使...

  • 周排行
  • 月排行
  • 年排行

精彩推荐