1.scanner类:
通过Scanner类获取用户输入时,控制台会一直等待用户的输入,直到用户敲回车键结束,
把所输入的内容传给Scanner,程序要从Scanner获取输入的内容,则只需要调用Scanner的nextLine()方法即可。
Scanner类的初始化
声明一个scanner变量,并用new运算符实例化Scanner,实例化Scanner时,需要传入System.in对象,
Scanner通过传入的System.in获取用户输入,并对用户输入的字符进行处理,屏蔽了获取用户输入的复杂操作。
即:Scanner scanner = new Scanner(System.in);
System.in是输入流,二进制格式的
Scanner封装后可以很容易的获取int, long , nextline这样的格式化数据
获取方法:
1、调用方法
2、变量名只要符合规范就行
注:
int inter = scanner.nextInt();
String line = scanner.nextLine();
String line = scanner.next();
Scanner.next()
Scanner.nextLine()
简单来说Scanner是一个扫描器,我们录取到键盘的数据,先存到缓存区等待读取,他判断读取结束的标示是空白符;比如空格,比如回车,比如tab…
next()方法读取到空白符就结束;nextLine()读取到回车结束也就是“
”.
scanner.hasNext()
hasNext()在缓冲区中依次扫描单词,此扫描器的输入(缓冲区)中有另一个token(输入的字符或数字),则返回true。没有提到什么时候返回false。
其实执行过程是这样的(重点:),当执行到hasNext()时,它会先扫描缓冲区中是否有字符,有则返回true,继续扫描。
直到扫描为空,这时并不返回false,而是将方法阻塞,等待你输入内容然后继续扫描。
2.String类
String类就是一个字符数组
char(i)取第i个位置的字符(i从0开始)
public char charAt(int index)
返回指定索引处的 char 值。索引范围为从 0 到 length() - 1。
序列的第一个 char 值在索引 0 处,第二个在索引 1 处,依此类推,这类似于数组索引。
String str = "abc";
char ch = str.charAt(0);
char ch2 = str.charAt(1);
Integer.parseInt(String)就是将String字符类型数据转换为Integer整型数据
Integer.parseInt(String)遇到一些不能被转换为整型的字符时,会抛出异常