Java Scanner 类

`Scanner` 类是 Java 中用于读取用户输入的方便工具,它可以从各种数据源(如标准输入流、文件、字符串等)中读取基本类型和字符串。`Scanner` 类位于 `java.util` 包中,通常用于从键盘获取用户输入数据。

### 主要功能和用法

1. **创建 Scanner 对象**:
   - 使用 `System.in` 创建一个 `Scanner` 对象,用于读取标准输入(键盘输入):
     ```java
     Scanner scanner = new Scanner(System.in);
     ```

2. **读取不同类型的数据**:
   - `Scanner` 类提供了多种方法来读取不同类型的数据,如整数、浮点数、布尔值和字符串等。

   - **示例1:读取整数**
     ```java
     System.out.print("Enter an integer: ");
     int num = scanner.nextInt();
     System.out.println("You entered: " + num);
     ```

   - **示例2:读取浮点数**
     ```java
     System.out.print("Enter a floating point number: ");
     double num = scanner.nextDouble();
     System.out.println("You entered: " + num);
     ```

   - **示例3:读取字符串**
     ```java
     System.out.print("Enter your name: ");
     String name = scanner.nextLine();
     System.out.println("Hello, " + name);
     ```

3. **关闭 Scanner 对象**:
   - 当不再需要从输入流中读取数据时,建议关闭 `Scanner` 对象以释放资源:
     ```java
     scanner.close();
     ```

4. **处理输入中的异常**:
   - 在使用 `Scanner` 读取数据时,要注意可能出现的异常情况,比如输入类型不匹配或者输入不完整等,需要适当处理这些异常。

### 示例

以下是一个完整的示例程序,演示了如何使用 `Scanner` 类从用户输入中获取整数和浮点数,并进行简单的计算:

```java
import java.util.Scanner;

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

        // 读取整数
        System.out.print("Enter an integer: ");
        int num1 = scanner.nextInt();

        // 读取浮点数
        System.out.print("Enter a floating point number: ");
        double num2 = scanner.nextDouble();

        // 计算和
        double sum = num1 + num2;
        System.out.println("Sum of " + num1 + " and " + num2 + " is " + sum);

        scanner.close();
    }
}
```

### 注意事项

- 使用 `Scanner` 类时要注意处理异常,如 `InputMismatchException`,特别是当用户输入的数据类型与程序预期的类型不匹配时。
- 在读取完数据后,及时关闭 `Scanner` 对象以释放资源,避免资源泄漏。

`Scanner` 类在日常的 Java 开发中非常实用,特别是在需要与用户交互、从文件中读取数据或者进行简单的数据处理时,它能够简化输入流的操作,提高代码的可读性和易用性。

  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值