java scanner 是 jdk5 新特性,功能是使用 scanner 获取用户输入
1.如何使用 scanner 类
① 基本语法
//包位置 java.util.Scanner;
Scanner scanner = new Scanner(System.in);
②示例代码 使用 Next 获取用户输入
//创建一个扫描对象,获取键盘输入
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收:");
//判断用户有没有输入字符串 类名scanner 方法 hasNext()
if(scanner.hasNext()){
//接收用户的输入 类名scanner 方法 next()
String str = scanner.next();
System.out.println("输入的内容:"+str);
}
// 关闭 scanner 目的节省资源 方法 close()
// 凡是属于 IO 流的使用完成记得关闭,不关闭会占用资源
scanner.close();
③示例代码 使用 NextLine 获取用户输入
//创建一个扫描对象,获取键盘输入
Scanner scanner = new Scanner(System.in);
System.out.println("使用NextLine方式接收:");
//判断用户有没有输入字符串 类名scanner 方法 hasNext()
if(scanner.hasNext()){
//接收用户的输入 类名scanner 方法 nextLine()
String str = scanner.nextLine();
System.out.println("输入的内容:"+str);
}
// 关闭 scanner 目的节省资源 方法 close()
// 凡是属于 IO 流的使用完成记得关闭,不关闭会占用资源
scanner.close();
2.NextLine 和 Next 的区别
① Next 的特点
1.不可以获取空格
2.一定要读取到有效字符才可以结束
3.获取有效字符后输入的空白符 后分隔或结束
4.获取有效字符前输入的空白符 会自动过滤
② NextLine 的特点
1.可以读取空格
2.以 Enter 结束,可以获取 Enter 键之前输入的所有数据
3.接收整数类型和浮点类型
Scanner scanner = new Scanner(System.in);
int i = 0;
float j = 0.0F;
System.out.println("请输入整数:");
//精确判断是不是输入的整数类型
if(scanner.hasNextInt()){
//精确获取的整数类型
int i1 = scanner.nextInt();
System.out.println("您输入的整数为:"+i1);
}else{
System.out.println("您输入的不是整数");
}
System.out.println("请输入浮点:");
//精确判断是不是输入的浮点类型
if(scanner.hasNextFloat()){
//精确获取的浮点类型
Float i1 = scanner.nextFloat();
System.out.println("您输入的浮点为:"+i1);
}else{
System.out.println("您输入的不是小数");
}
scanner.close();