在Java编程中,Scanner 类是 java.util 包中的一部分,它提供了一个方便的方式来读取用户输入,以下是如何使用 Scanner 类来输入数据的详细步骤和示例。

导入Scanner类
你需要导入 Scanner 类,这可以通过在代码的开头添加以下语句来完成:
import java.util.Scanner;
创建Scanner对象
你需要创建一个 Scanner 对象,这通常是通过调用 Scanner 类的构造函数并传递一个输入源(如 System.in)来实现的:
Scanner scanner = new Scanner(System.in);
这里,System.in 表示标准输入流,即键盘输入。

读取不同类型的数据
Scanner 类提供了多种方法来读取不同类型的数据,以下是一些常用的方法:
1 读取字符串
System.out.println("请输入您的名字:");
String name = scanner.nextLine();
System.out.println("您输入的名字是:" + name);
2 读取整数
System.out.println("请输入您的年龄:");
int age = scanner.nextInt();
System.out.println("您输入的年龄是:" + age);
3 读取浮点数
System.out.println("请输入您的体重(公斤):");
double weight = scanner.nextDouble();
System.out.println("您输入的体重是:" + weight);
4 读取布尔值
System.out.println("您是否喜欢Java编程?(是/否):");
boolean favorite = scanner.nextBoolean();
System.out.println("您是否喜欢Java编程:" + favorite);
使用nextLine()处理换行符
当你使用 nextInt() 或 nextDouble() 等方法读取数据时,如果输入中包含换行符,那么换行符将被留在输入流中,为了避免这个问题,你可以使用 nextLine() 方法来读取剩余的输入:
scanner.nextLine(); // 清除输入流中的换行符
关闭Scanner对象
当不再需要读取输入时,应该关闭 Scanner 对象,以释放与之关联的资源:

scanner.close();
示例代码
以下是一个完整的示例,演示了如何使用 Scanner 类来读取用户输入:
import java.util.Scanner;
public class ScannerExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入您的名字:");
String name = scanner.nextLine();
System.out.println("您输入的名字是:" + name);
System.out.println("请输入您的年龄:");
int age = scanner.nextInt();
System.out.println("您输入的年龄是:" + age);
System.out.println("请输入您的体重(公斤):");
double weight = scanner.nextDouble();
System.out.println("您输入的体重是:" + weight);
System.out.println("您是否喜欢Java编程?(是/否):");
boolean favorite = scanner.nextBoolean();
System.out.println("您是否喜欢Java编程:" + favorite);
scanner.nextLine(); // 清除输入流中的换行符
System.out.println("请输入您的邮箱地址:");
String email = scanner.nextLine();
System.out.println("您输入的邮箱地址是:" + email);
scanner.close();
}
}
通过以上步骤,你可以有效地使用Java中的 Scanner 类来读取用户的输入,合理地管理资源,如关闭 Scanner 对象,是良好的编程实践。


















