对java的Scanner类的next开头的相关类有点纠结,看了一些博客大致懂了,整理下
代码事例直接参考了这位大佬的
https://blog.csdn.net/long71751380/article/details/9400835
1. 总的原理
以一段代码为例,scanner类
import java.util.Scanner;
public class Next {
public static void main(String[] args) {
String s1, s2;
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个字符串:");
s1 = sc.nextLine();
System.out.println("请输入第二个字符串:");
s2 = sc.next();
System.out.println("输入的字符串是:" + s1 + " " + s2);
}
}
1.1 new Scanner(System.in)
以控制台为例,此时会提供控制台输入,输入的字符会到某缓存通道中A(也不知道专业名词叫什么)
继续执行后面的代码
1.2 sc.nextLine()
此时会从缓存通道A中开始读取数据,通道A中的游标(也不知道专业名词叫什么)初始位置为缓存通道A最前面,此时程序运行到nextLine(),该方法会做两件事情。
一是读取起