Scanner是一个扫描器,我们录取到键盘的数据,先存到缓存区等待读取,它判断读取结束的标示是 空白符;比如空格,回车,tab 等等。
next()方法读取到空白符就结束,nextLine()读取到回车结束也就是“\r”。
当处理有空格的一行字符串时,要用nextLine(),否则空格后的读不出来。
代替了本身的循环遍历 自动跳转到下一个输入
next()
测试代码:
public static void main(String[] args) {
try (Scanner sc = new Scanner(System.in)) {
String s1=sc.next();
String s2=sc.next();
System.out.println(s1);
System.out.println(s2);
System.out.println(s1 + s2);
}
}
运行结果:
我们发现一旦我们敲了空格就自动开始输入下一个了,相加到一起的也没有把空格打印出来
nextLine
测试代码:
public static void main(String[] args) {
try (Scanner sc = new Scanner(System.in)) {
String s1=sc.nextLine();
String s2=sc.nextLine();
System.out.println(s1);
System.out.println(s2);
System.out.println(s1 + s2);
}
}
运行结果
123和456当中敲了空格依然没有进入下一次输入 而是把空格作为了其中一个字符