Java 用户输入 (Scanner)

Java 用户输入

Scanner 类用于获取用户输入,它位于 java.util 包中。

如需使用 Scanner 类,请创建该类的对象并使用 Scanner 类文档中的任何可用方法。在我们的例子中,会使用 nextLine() 方法,该方法用于读取字符串:

实例

import java.util.Scanner;  // 导入 Scanner 类

class Main {
  public static void main(String[] args) {
    Scanner myObj = new Scanner(System.in);  // 创建 Scanner 对象
    System.out.println("请输入用户名");

    String userName = myObj.nextLine();  // 读取用户输入
    System.out.println("用户名是:" + userName);  // 输出用户输入
  }
}

运行实例

提示:如果您不清楚是什么包,请阅读我们的 Java 包教程

输入类型

在上面的例子中,我们使用了 nextLine() 方法,该方法用于读取字符串。关于其他类型,请参阅下表:

方法 描述
nextBoolean() 读取来自用户的 boolean 值。
nextByte() 读取来自用户的 byte 值。
nextDouble() 读取来自用户的 double 值。
nextFloat() 读取来自用户的 float 值。
nextInt() 读取来自用户的 int 值。
nextLine() 读取来自用户的 String 值。
nextLong() 读取来自用户的 long 值。
nextShort() 读取来自用户的 short 值。

在下面的例子中,我们使用不同的方法来读取各种类型的数据:

实例

import java.util.Scanner;

class Main {
  public static void main(String[] args) {
    Scanner myObj = new Scanner(System.in);

    System.out.println("请输入名字、年龄、薪资:");

    // 字符串输入
    String name = myObj.nextLine();

    // 数值输入
    int age = myObj.nextInt();
    double salary = myObj.nextDouble();

    // 输出用户的输入
    System.out.println("名字:" + name);
    System.out.println("年龄:" + age);
    System.out.println("薪资:" + salary);
  }
}

运行实例

注意:如果您输入错误的输入(例如数字输入中的文本),会收到异常/错误消息(如 "InputMismatchException")。

您可以在 “异常” 一章中阅读有关异常以及如何处理错误的更多内容。

完整的 Scanner 参考手册

提示:如需获得 Scanner 方法的完整参考,请访问我们的 Java Scanner 参考手册