Scanner类
概述
API application programming interface 应用程序编程接口,
Java API对于程序员来说,就是一本可以查找检索的字典
是JDK官方提供给程序开发者使用类的说明文档
这些类将底层的代码封装起来,使用者不需要关注底层是如何实现的
只需要知道类是如何使用的,开发者使用JDK类库的时候,通过查阅API的方式进行
Scanner类
一个可以使用正则表达来解析基本数据类型和字符串类型的简单文本扫描器
// 实例化一个扫描类
Scanner sc = new Scanner(system.in);
// 当你使用外部类的时候
// 大多数情况是需要在本类中做特殊声明的
// 需要把外部类的路径导入到本类中
// 导入声明的语法格式
// import 包名.类名
// 该导入声明语句放到类的上面
import java.util.Scanner;
// 实例化一个扫描类
Scanner sc = new Scanner(system.in);
// 让系统能够从外部录一个整数
int num = sc.nextInt();
// 备注 System.in 可以实现通过键盘往系统中录入一个数据
// 让系统能过实现从外部录入一个浮点数(小数)nextDouble();
double num2 = sc.nextDouble();
// 让系统能够实现从外部录入一个字符串数据,next()
String str = sc.next();
next 和 nextLine的区别
1.next()方法在读取内容时,会过滤掉有效字符前面的无效字符,
对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,
next()方法会自动将其过滤掉;只有在读取到有效字符之后,
next()方法才将其后的空格键、Tab键或Enter键等视为结束符;
所以next()方法不能得到带空格的字符串。
2.nextLine()方法字面上有扫描一整行的意思,
它的结束符只能是Enter键,
即nextLine()方法返回的是Enter键之前没有被读取的所有字符,
它是可以得到带空格的字符串的。