Java Scanner类中.next()和.nextLine():
一.Scanner类中的.next():第一个字符之前的回车,空格,Tab键都不会录入,录入第一个字符之后在接受到空格,Tab键都会作为结束符,回车之后只能得到空格,Tab键之前的字符.
二.Scanner类中的.nextLine():则是只要没有遇到回车,之前之后录入的什么都会录入,遇到回车则结束.
三.不管是.next()或者.nextLine()接收回车只能作为结束标记,不能录入回车并打印.
样例:
package test;
import java.util.Scanner;
public class nextAndNextLine {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String a=sc.next();
String b=sc.nextLine();
System.out.println("next:"+a);
System.out.println("nextLine"+b);
}
}
先是.next()进行接收,最后打印没有之前的Tab键,只录入了第一个空格之前的字符.
在第一个空格和之后.next()就不再接收数据了,所以第一个空格和第一个空格之后的数据被.nextLine()接收.
因为最后的一个回车也被接收.nextLine()给接收了所以第二次录入没有进行就直接打印了结果.