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

本文详细解释了Java中Scanner类的next()与nextLine()方法的工作原理及区别,通过实例演示了这两种方法如何处理输入字符串,并提供了使用建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前面学习《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() 方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值