nextLine()和next()方法是java.util.Scanner类下的,两个方法的主要区别是:
一、next()方法
next()方法不能得到带空格的字符串,因为next在读取内容的时候会自动过滤掉有效字符前面的无效字符。
比如:在输入一条有效数据之前输入了空格、Tab、Enter键等结束符,那么next()方法会自动将这些无效数据过滤掉。
相反:如果空格、Tab、Enter键在有效字符后面,next()方法读取有效字符之后,会将之后的无效字符视为结束符。
所以next()方法不能得到带空格的字符串。
二、nextLine()
nextLine()是可以得到带空格的字符串的。
nextLine()方法字面上有扫描一整行的意思,它的结束符只能是Enter键,即nextLine()方法返回的是Enter键之前没有被读取的所有字符。
使用下面的例子用来解释next()方法与nextLine()方法的不同。可能会更直观一些(图片引用来自:https://blog.csdn.net/hello_word2/article/details/54895106)