Java中调用Scanner类输入字符串next()与nextLine()的区别和不同,以及字符的输入

Java中在Scanner类里有两种方法可以使用户通过键盘输入字符串

I.next()方法

使用方法是如下:

Java中调用Scanner类输入字符串next()与nextLine()的区别和不同,以及字符的输入

使用Scanner类创建一个对象,System.in待变系统输入,Scanner代表扫描仪的意思,大概就是通过扫描仪扫描系统输入,然后我们定义一个String字符串类型变量用于存储我们要输入的字符串,next()方法就是输入字符串。

II.nextLine()方法

使用方法如下:

Java中调用Scanner类输入字符串next()与nextLine()的区别和不同,以及字符的输入

操作方法也是如上。

那么,这两个方法有什么区别呢?乍一看,nextLine()方法比next()方法长一个Line单词,是不是更牛一点呢我们来分析一下长一点的字符串

next()

Java中调用Scanner类输入字符串next()与nextLine()的区别和不同,以及字符的输入

nextLine()

Java中调用Scanner类输入字符串next()与nextLine()的区别和不同,以及字符的输入

通过对比,果然满是伤痕。

next()方法只输出了字符串中的第一个字母I,因为接下来的空格它识别不了。

而nextLine()方法输出了整个字符串,因为该方法可以识别字符串中的空格以及回车,是不是很强大。

那么,怎么通过键盘完成一个字符的输入,当然在next()方法和nextLine()方法下还有一个方法叫做charAt(args【0】),顾名思义,我们可以看出charAt是字符在什么。。。看一下代码展示吧:

next().charAt()

Java中调用Scanner类输入字符串next()与nextLine()的区别和不同,以及字符的输入

因为charAt(0)这个方法中的参数表示取出字符串中的第几个字符,因为是字符,所以之打印该方法下指定的参数所对应的字符

比如换一个参数:

Java中调用Scanner类输入字符串next()与nextLine()的区别和不同,以及字符的输入

注意:charAt()这个方法中的参数是args[]一个数组,所以0为下标指向第一个数。

那么我么来看next()的一个弊端:

Java中调用Scanner类输入字符串next()与nextLine()的区别和不同,以及字符的输入

可以看出当字符是空格时,next()方法下的charAt()无法执行,当然nextLine()这个方法就可以了,之前字符串的输入也说过,nextLine()这个方法可以识别空格和回车。

Java中调用Scanner类输入字符串next()与nextLine()的区别和不同,以及字符的输入

可以看到输出了一个光标,这里不是很明显,可以看下光标位置。

希望小伙伴注意区别两种方法,适当运用。