壹哥在前面给大家讲过,Java中给咱们提供了有三个标准的“流”,他们被统称为standard streams。除了负责输出的流之外,还有一个负责输入的标准流,Java中对应的API是System.in。
与标准输出相比,标准输入则复杂的多。尤其是直接使用System.in时,虽然可以读取到用户的输入,但该方式特别的复杂,对咱们初学者来说很不友好。所以为了更方便地实现输入功能,壹哥给大家介绍一个更简单的Scanner类。
2. Scanner类
2.1 Scanner简介
Scanner类是Java 5中开始提供的,负责解析基本类型和字符串的简单文本扫描器。通过Scanner类,我们可以获取用户在控制台里的输入数据。Scanner类里常用API方法有如下几个:
nextInt():获取输入的整数;
nextDouble():获取输入的双精度浮点数;
nextLine():获取输入的字符串,包括单词里的空格和除回车以外的所有字符;
next():获取输入的字符串,只从有效字符计算。在有效字符之前遇到的空格键、Tab键、换行符或Enter键等结束符,next()方法会自动将其去掉。只有在输入有效字符之后,next()方法才会将其后面输入的空格键、Tab键或Enter键等都视为分隔符或结束符,并以空格结束。
2.2 使用步骤
我们要想使用Scanner,需要遵循以下步骤:
1导入Scanner类;
2创建Scanner对象;
3使用Scanner对象扫描输入的内容。
接下来壹哥就给大家设计一个案例,讲解Scanner的具体使用。
3. 案例
本案例对初学者来说,具有一定的挑战性,大家要集中精力哦。
//1.import导包:导入Scanner类
import java.util.Scanner;public class Demo03 {public static void main(String[] args) {//输入语句//2.创建一个从键盘录入的Scanner扫描对象 Scanner sc = new Scanner(System.in);//3.使用Scanner对象,扫描输入的内容(整数、小数、字符串、布尔)//在控制台或命令行输入数字,并点击回车键结束System.out.println("请输入一个数字");int num = sc.nextInt();System.out.println("你输入的数字为:"+num);System.out.println("请输入一个小数");double num2 = sc.nextDouble();System.out.println("你输入的数字为:"+num2);System.out.println("请输入一个字符串");String str = sc.next();System.out.println("你输入的字符串为:"+str);}}
本案例效果如下: