1.next() :next()方法在读取内容时,会过滤掉有效字符前面的无效字符,对输入有效字符之前遇到的 空格键、Tab键或Enter键等结束符,next()方法会自动将其过滤掉;只有在读取到有效字符之后,next ()方法才将其后的空格键、Tab键或Enter键等视为结束符;所以next()方法不能得到带空格的字符串. 2. nextLine() :表示读取一行,nextLine()方法字面上有扫描一整行的意思,它的结束符只能是Enter 键,即nextLine()方法返回的是Enter键之前没有被读取的所有字符,它是可以得到带空格的字符串的。 3.我们可以通过代码来测试 code1:public class TestNext { public static void main(String[] args) { Scanner in = new Scanner(System.in); String a = in.next(); String b = in.nextLine(); System.out.println("a : " + a); System.out.println("b : " + b); } } 输入: aa aa 输出: a : aa b : aa Process finished with exit code 0 复制代码
code2:我们换了一个nextLine() 和next()的顺序public class TestNext { public static void main(String[] args) { Scanner in = new Scanner(System.in); String b = in.nextLine(); String a = in.next(); System.out.println("a : " + a); System.out.println("b : " + b); } } 输入: aa aa aa 输出: a : aa b : aa aa Process finished with exit code 0 复制代码
转载于:https://juejin.im/post/5cb95ac26fb9a0688f37658b