`
wjb08223
  • 浏览: 3933 次
社区版块
存档分类
最新评论

简略解析 java Scanner 中的 next()方法和 nextLine() 方法

 
阅读更多
前面学习《Java核心技术》其中有一段关于Scanner类的使用的介绍,不理解其中的next()和nextLine()方法的区别,网上百度了下,在此记录一下:


说明:我输入的是“ jeckfan jeckfan jeckfan”,前面加了一个空格。看到结果了吧?

     也许你会问,为什么当调用 next()方法时,它让我输入字符串,我输入了三个方法时,它让我输入字符串,我输入了三个 jeckfan 却只是打印出了一个;而当我再接着调用却只是打印出了一个;而当我再接着调用 nextLine()方法时,没用我入它就自动打印出了上面的后两个方法时,没用我输入它就自动打印出了上面的后两个 jeckfan 呢?下面,咱们就一起来探讨一下吧!

     首先,我们要弄明白,next 方法的使用规则:当 next 方法遇见第一个有效字符(非空格、换行字符)时,开始执行扫描,而当遇见第一个分隔符或结束符(空格或换行符)时,结束扫描。这里,你看,当我一连串输入三个个有效字符(非空格、换行字符)时,开始执行扫描,而当遇见第一个分隔符或结束符(空格或换行符)时,结束扫描。这里,你看,当我一连串输入三个 jeckfan时,其实 next 方法只执行到第一个 jeckfan碰到第一个空格就结束了,不会再往下扫描,也就是它只接收了第一个碰到第一个空格就结束了,不会再往下扫描,也就是它只接收了第一个 jeckfan。而从第一个 jeckfan 后的空格算起,就交给 nextLine 来扫描了,也就是说,来扫描了,也就是说,nextLine 方法接收当前行剩下的所有的字符串,一直到你敲回车为止。方法接收当前行剩下的所有的字符串,一直到你敲回车为止。大家想到了吧?Scanner 中的 next 和 nextLine 方法最好不要联合使用,因为它们如果联合使用的话,它们就是一个整体了,你不要想当然的以为这两个方法一前一后调用时是各自孤立的。也就是说,在这里,方法最好不要联合使用,因为它们如果联合使用的话,它们就是一个整体了,你不要想当然的以为这两个方法一前一后调用时是各自孤立的。也就是说,在这里,next 方法和 nextLine 方法(next 在前,nextLine 在后)扫描接收的是同一行上的字符串,只不过接收的不同部分罢了。不知道聪明的你是不是明白了我以上所说的内容。

 

出自网上下的一篇文章:扈建峰 简略解析 java Scanner 中的 next()方法和 nextLine() 方法

  • 大小: 240.3 KB
分享到:
评论

相关推荐

    java中Scanner类nextLine()和next()的区别和使用方法

    Java 中 Scanner 类 nextLine() 和 next() 的区别和使用方法 Java 中的 Scanner 类提供了多种方法来读取输入数据,其中 nextLine() 和 next() 是两个常用的方法,但它们之间有着重要的区别。 next() 方法 next() ...

    解析Scanner之next与nextLine区别

    标题:“解析Scanner之next与nextLine区别” 描述:“介绍next与nextLine如何使用以及它们之间的区别。” 在Java编程语言中,`Scanner`类是处理基本数据类型和字符串的基本输入流的强大工具,它提供了多种方法来...

    next和nextline的区别

    在实际应用中,经常会遇到需要从用户那里获取输入的情况,这时 `Scanner` 类中的 `next()` 和 `nextLine()` 方法就显得尤为重要了。本文将详细介绍这两个方法之间的区别及其应用场景。 ### 一、`Scanner` 类简介 `...

    java Scanner 的用法

    `java.util.Scanner` 是 Java SDK 1.5 版本引入的一个类,用于简化文本扫描任务,它能够解析基本类型(如 `int`, `double`)以及字符串类型的数据。在进行用户交互时,`Scanner` 类提供了一个方便的方法来读取控制台...

    java中Scanner类的接收方法

    在Java编程语言中,`Scanner`类是Java.util包下的一个重要的输入处理工具,它用于从各种源(如系统输入流、文件、字符串)读取基本类型的数据和字符串。`Scanner`类提供了丰富的接收方法来方便程序员进行输入操作。...

    Scanner类的中的微妙关系

    Java中的Scanner类是一个非常实用的工具类,用于解析原始类型和字符串的简单文本扫描器。从Java 5开始引入,Scanner类可以读取来自各种输入源(例如,标准输入流System.in、字符串、文件等)的数据,并能使用正则...

    8.javaScanner类.zip

    8.javaScanner类.zip8.javaScanner类.zip8.javaScanner类.zip8.javaScanner类.zip8.javaScanner类.zip8.javaScanner类.zip8.javaScanner类.zip8.javaScanner类.zip8.javaScanner类.zip8.javaScanner类.zip8.java...

    Java中Scanner类的用法

    它在Java 5.0版本被引入,目的是为了简化输入输出控制的过程,相较于传统的输入输出流控制(如`InputStream`和`OutputStream`),`Scanner`类提供了更为简洁、易用的方法来读取基本类型的数据和字符串。 #### 二、...

    Java中Scanner用法.doc

    `Scanner`类作为Java SDK 1.5中引入的新特性,为开发者提供了一种简单直观的方式来读取用户输入和解析文本文件中的数据。相比于之前的`StringTokenizer`和`Matcher`类,`Scanner`不仅功能更加强大,而且使用起来更加...

    burpsuite插件之Java Deserialization Scanner使用方法1

    Java Deserialization Scanner 是一款针对Java反序列化漏洞的检测和利用工具,它是Burp Suite中的一个插件。这款插件的目的是帮助安全研究人员检测应用程序中可能存在的Java反序列化漏洞,这些漏洞可能导致远程代码...

    浅析java中next与nextLine用法对比

    `next()`和`nextLine()`是`Scanner`类中的两个重要方法,它们在处理用户输入时有着显著的不同。这里我们将深入探讨这两个方法的区别,并通过实例来解析它们的工作原理。 `next()`方法的作用是读取输入流中的下一个...

    Scanner类next()方法例子最清晰小白参考

    一个简单的Scanner类的next()方法例子,最适合小白参考Scanner a = new Scanner(System.in); String v = a.next(); System.out.print("你输入的值是:"+ v); Scanner b = new Scanner(System.in); ...

    Java Scanner、File、PrintWriter使用实例

    Java Scanner File PrintWriter使用实例

    Java Scanner 类.pdf

    它属于Java中的引用数据类型,这意味着使用Scanner类时,我们需要创建Scanner对象并调用其方法来读取和处理输入。 1. 引用数据类型: 引用数据类型不同于Java的基本数据类型(如int、char等),它包括类、接口和数...

    Java基础之Scanner键盘录入.docx

    Java 中的 Scanner 键盘录入是 Java 前期学习中非常重要的一个知识点,它可以用来模拟现实中的前端向后台传输数据的情形,便于我们理解和学习 Java。下面是对 Scanner 键盘录入的详细介绍和知识点总结: Scanner 的...

    Java Scanner类常见面试题及答案

    14. **常用方法**:Scanner类的主要方法有`nextInt()`、`nextDouble()`、`next()`、`nextLine()`、`hasNext()`、`useDelimiter()`等。 15. **读取数字后的换行符**:`scanner.nextLine()`会消耗掉输入流中的换行符...

    java Scanner类的使用(csdn)————程序.pdf

    Java Scanner 类是 Java 5 中的一个新特征,用于实现程序与人的交互,我们可以通过 Scanner 类来获取用户的输入。Scanner 类位于 java.util 包中,可以通过创建一个扫描对象来接收键盘输入。 创建扫描对象的基础...

    Java Scanner类及其方法使用图解

    Scanner类提供了多种读取方式,包括nextInt、nextFloat、nextByte、next和nextLine等方法。这些方法的读取方式有所不同: * `nextInt()`:读取整数类型的输入,返回int类型的值。 * `nextFloat()`:读取浮点数类型...

    Java Scanner类用法及nextLine()产生的换行符问题实例分析

    下面我们将详细讨论`Scanner`类的用法,特别是`nextInt()`和`nextLine()`方法以及它们之间可能出现的换行符问题。 首先,`Scanner`类的构造函数通常接收一个`InputStream`作为参数,如`System.in`,这使得我们可以...

    Java中Scanner类的用法.doc

    此外,Scanner 类还可以用于读取用户在命令行输入的各种数据类型,例如,nextByte()、nextDouble()、nextFloat()、nextInt()、nextLine()、nextLong() 和 nextShort() 等方法。 Scanner 类的使用方法非常灵活,可以...

Global site tag (gtag.js) - Google Analytics