.next()和.nextLine() 区别:
next() :
1、只能读取有效字符,对有效字符出现之前的所有空格,next() 将自动忽略。
2、从有效字符出现开始,将其后输入的空格键、Tab键和Enter键等视为分隔符或结束符。
nextLine() :
1、读取Enter键出现之前的所有字符,包括带空格的字符。
2、只能以Enter键作为结束符。
next()演示代码:
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// next()测试,仅能接收有效字符
System.out.println("-----next()测试方法-----");
System.out.print("请输入字符串:");
String nextStr = sc.next();
System.out.println("输入结果:" + nextStr);
}
}
结果:
-----next()测试方法-----
请输入字符串: 123 456
输入结果:123
nextLine()代码演示:
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// nextLine()测试,仅能接收有效字符
System.out.println("-----nextLine()测试方法-----");
System.out.print("请输入字符串:");
String nextLineStr = sc.nextLine();
System.out.println("输入结果:" + nextLineStr);
}
}
结果:
-----nextLine()测试方法-----
请输入字符串: 123 456
输入结果: 123 456
简单的理解,next() 只要有效字符,nextLine() 对于所有的字符全都要。