类Scanner

什么是Scanner类

一个可以解析基本类型和字符串的简单文本扫描器。Scanner类的功能:可以实现键盘输入数据,到程序当中。

引用类型的一般使用步骤:

1. 导包

  • import 包路径.类名称;

如果需要使用的目标类,和当前类位于同一个包下,则可以省略导包语句不写。

只有java.lang包下的内容不需要导包,其他的包都需要import语句。

2. 创建

  • 类名称 对象名 = new 类名称();

3. 使用

  1. 对象名.成员方法名()

Scanner使用步骤

查看类
  • java.util.Scanner :该类需要import导入后使用。
查看构造方法
  • public Scanner(InputStream source) : 构造一个新的 Scanner ,它生成的值是从指定的输入流扫描的。
查看成员方法
  • public int nextInt() :将输入信息的下一个标记扫描为一个 int 值。
  • public int next() :将输入信息的下一个标记扫描为一个 String 值。

代码举例

public class Demo01Scanner {

    public static void main(String[] args) {
        // 2. 创建
        // 备注:System.in代表从键盘进行输入
        Scanner sc = new Scanner(System.in);

        // 3. 获取键盘输入的int数字
        int num = sc.nextInt();
        System.out.println("输入的int数字是:" + num);

        // 4. 获取键盘输入的字符串
        String str = sc.next();
        System.out.println("输入的字符串是:" + str);
    }

}

执行结果

类Scanner

代码举例

需求:键盘输入三个int数字,然后求出其中的最大值。

package demo01;

import java.util.Scanner;

/*
思路:
1. 既然是键盘输入,肯定需要用到Scanner
2. Scanner三个步骤:导包、创建、使用nextInt()方法
3. 既然是三个数字,那么调用三次nextInt()方法,得到三个int变量
4. 无法同时判断三个数字谁最大,应该转换成为两个步骤:
    4.1 首先判断前两个当中谁最大,拿到前两个的最大值
    4.2 拿着前两个中的最大值,再和第三个数字比较,得到三个数字当中的最大值
5. 打印最终结果
 */
public class Demo03ScannerMax {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个数字:");
        int a = sc.nextInt();
        System.out.println("请输入第二个数字:");
        int b = sc.nextInt();
        System.out.println("请输入第三个数字:");
        int c = sc.nextInt();

        // 首先得到前两个数字当中的最大值
        int temp = a > b ? a : b;
        int max = temp > c ? temp : c;
        System.out.println("最大值是:" + max);
    }

}

执行结果

类Scanner