5.2Java中scanner扫描仪以及if分支结构

在Java中,`Scanner` 类是 `java.util` 包中的一个工具类,它用于从输入源(如键盘、文件、字符串等)读取和解析原始数据和格式化数据。`Scanner` 类能够解析基本数据类型和字符串,并通过使用正则表达式分隔符将输入分解成标记。

要使用 `Scanner` 类,你需要首先导入它:

```java
import java.util.Scanner;
```

接下来,你可以创建一个 `Scanner` 对象,并通过它读取用户输入或其他输入源的数据。以下是一个简单的示例,展示了如何使用 `Scanner` 类从控制台读取用户输入:

```java
import java.util.Scanner;

public class ScannerExample {
    public static void main(String[] args) {
        // 创建一个Scanner对象,与System.in关联(标准输入,通常是键盘)
        Scanner scanner = new Scanner(System.in);

        // 使用scanner对象的next方法读取用户输入的字符串
        System.out.print("请输入你的名字: ");
        String name = scanner.next();
        System.out.println("你好, " + name + "!");

        // 读取一个整数
        System.out.print("请输入一个整数: ");
        int number = scanner.nextInt();
        System.out.println("你输入的整数是: " + number);

        // 读取一个浮点数
        System.out.print("请输入一个浮点数: ");
        double floatNumber = scanner.nextDouble();
        System.out.println("你输入的浮点数是: " + floatNumber);

        // 关闭scanner对象,释放与之关联的资源
        scanner.close();
    }
}
```

在这个例子中,我们创建了一个 `Scanner` 对象,并将其与 `System.in`(标准输入流,通常来自键盘)关联起来。然后,我们使用不同的 `Scanner` 方法(如 `next()`, `nextInt()`, `nextDouble()` 等)读取用户输入的不同类型的数据。

当你完成 `Scanner` 对象的使用后,记得调用其 `close()` 方法来关闭它,释放与之关联的资源。这在处理文件输入或其他需要显式关闭的输入源时尤为重要。然而,当使用 `System.in` 作为输入源时,调用 `close()` 方法可能会关闭标准输入流,这可能会影响到后续代码对标准输入的使用。因此,在处理键盘输入时,有时可以省略 `close()` 方法的调用。

需要注意的是,`Scanner` 类在处理用户输入时,默认使用空白字符(如空格、制表符和换行符)作为分隔符。如果需要更复杂的输入解析,可以使用 `useDelimiter()` 方法来设置自定义的分隔符。

if分支结构:

在Java中,`if` 分支结构用于基于某个条件执行特定的代码块。如果条件为 `true`,则执行 `if` 语句内的代码块;如果条件为 `false`,则跳过该代码块。下面是一个简单的示例:

```java
public class IfExample {
    public static void main(String[] args) {
        int number = 10;

        // 使用if语句检查number是否大于5
        if (number > 5) {
            System.out.println("Number is greater than 5.");
        }
    }
}
```

在上面的例子中,我们定义了一个整数 `number` 并检查它是否大于5。如果是,则打印一条消息。

Java中的 `if` 语句也可以与 `else` 结合使用,以便在条件不满足时执行另一段代码:

```java
public class IfElseExample {
    public static void main(String[] args) {
        int number = 5;

        // 使用if-else语句检查number是否大于5
        if (number > 5) {
            System.out.println("Number is greater than 5.");
        } else {
            System.out.println("Number is not greater than 5.");
        }
    }
}
```

在这个例子中,如果 `number` 大于5,则执行 `if` 代码块;否则,执行 `else` 代码块。

Java还支持 `else if` 语句,用于检查多个条件:

```java
public class IfElseIfExample {
    public static void main(String[] args) {
        int number = 10;

        // 使用if-else if-else语句检查number的范围
        if (number > 10) {
            System.out.println("Number is greater than 10.");
        } else if (number == 10) {
            System.out.println("Number is equal to 10.");
        } else {
            System.out.println("Number is less than 10.");
        }
    }
}
```

在这个例子中,我们检查了 `number` 的三个不同范围,并根据满足的条件执行相应的代码块。

请注意,`if`、`else if` 和 `else` 语句必须按照正确的顺序排列,即 `if` 语句首先出现,其次是任何 `else if` 语句,最后是可选的 `else` 语句。而且,一旦某个条件为 `true`,就会执行相应的代码块,并且跳过所有后续的 `else if` 和 `else` 语句。

此外,从Java 7开始,还可以使用三元运算符(也被称为条件运算符)作为简单的 `if-else` 结构的替代:

```java
int a = 5;
int b = 10;
String result = (a > b) ? "a is greater" : "a is not greater";
System.out.println(result); // 输出 "a is not greater"
```

在这个例子中,三元运算符检查 `a` 是否大于 `b`,如果是,则结果为 `"a is greater"`,否则结果为 `"a is not greater"`。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值